pytorch工具——认识pytorch

目录

  • pytorch的基本元素操作
    • 创建一个没有初始化的矩阵
    • 创建一个有初始化的矩阵
    • 创建一个全0矩阵并可指定数据元素类型为long
    • 直接通过数据创建张量
    • 通过已有的一个张量创建相同尺寸的新张量
    • 利用randn_like方法得到相同尺寸张量,并且采用随机初始化的方法为其赋值
    • 采用.size()方法来得到张量的形状
    • 加法
    • 切片操作
    • 改变张量的形状
    • 如果张量中只有一个元素,可以用item()将值取出,作为一个python number
    • torch tensor和numpy array之间的互相转换
    • 关于cuda tensor:tensor可以用.to()方法将其移动到任意设备上

pytorch的基本元素操作

from __future__ import print_function
import torch

创建一个没有初始化的矩阵

x=torch.empty(5,3)
print(x)

在这里插入图片描述

创建一个有初始化的矩阵

x=torch.rand(5,3)
print(x)

在这里插入图片描述

在这里插入图片描述

创建一个全0矩阵并可指定数据元素类型为long

x=torch.zeros(5,3,dtype=torch.long)
print(x)

在这里插入图片描述

直接通过数据创建张量

x=torch.tensor([2,5,3,5])
print(x)

在这里插入图片描述

通过已有的一个张量创建相同尺寸的新张量

x=x.new_ones(5,3,dtype=torch.double)
print(x)

在这里插入图片描述

利用randn_like方法得到相同尺寸张量,并且采用随机初始化的方法为其赋值

y=torch.randn_like(x,dtype=torch.float)
print(y)

在这里插入图片描述

采用.size()方法来得到张量的形状

print(x.size())

在这里插入图片描述

加法

第一种方法

x=torch.randn(5,3)
y=torch.randn(5,3)
print(x+y)

第二种方法

print(torch.add(x,y))

第三种方法

result=torch.empty(5,3)
torch.add(x,y,out=result)
print(result)

第四种方式:原地置换(执行的是y=y+x)

y.add_(x)
print(y)

在这里插入图片描述
注意
在这里插入图片描述

切片操作

x[:,1]

在这里插入图片描述

改变张量的形状

x=torch.randn(4,4)
y=x.view(16)
z=x.view(-1,8)
x.size(),y.size(),z.size()

在这里插入图片描述

如果张量中只有一个元素,可以用item()将值取出,作为一个python number

x=torch.randn(1)
print(x,x.item())

在这里插入图片描述

torch tensor和numpy array之间的互相转换

a=torch.ones(5)
b=a.numpy()
a.add_(1)
print(a,b)

在这里插入图片描述

import numpy as np
a=np.ones(5)
b=torch.from_numpy(a)
np.add(a,1,out=a)
print(a,b)

在这里插入图片描述
注意
在这里插入图片描述

关于cuda tensor:tensor可以用.to()方法将其移动到任意设备上

windows
在这里插入图片描述
mac

if torch.backends.mps.is_available():device=torch.device('mps')#cpu上创建x,gpu上创建yx=torch.randn(1)y=torch.ones_like(x,device=device)x=x.to(device)#此时x,y都在gpu上z=x+yprint(z)#再将z转移到cpu上print(z.to('cpu',torch.float32))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

压力测试-商场项目

1.压力测试 压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内,向系统发送预…

项目:点餐系统1

项目简介:实现一个http点餐系统服务器,能够支持用户在浏览器访问服务器获取餐馆首页,进行菜品以及订单管理。 具体模型如下: 用户分类: 管理员:进行订单以及菜品管理(菜品&订单的增删改查&a…

STM32MP157驱动开发——按键驱动(异步通知)

文章目录 “异步通知 ”机制:信号的宏定义:信号注册 APP执行过程驱动编程做的事应用编程做的事异步通知方式的按键驱动程序(stm32mp157)button_test.cgpio_key_drv.cMakefile修改设备树文件编译测试 “异步通知 ”机制: 信号的宏定义&#x…

protobuf安装教程

protobuf安装 一,Windows下安装下载protobuf配置环境变量检查是否安装成功 二,Linux下安装下载protobuf安装protobuf检查是否安装成功 一,Windows下安装 下载protobuf 下载地址 本次下载以v21.11为例,根据自己需求下载即可。 配…

2023年深圳杯数学建模 D题 基于机理的致伤工具推断

致伤工具的推断一直是法医工作中的热点和难点。由于作用位置、作用方式的不同,相同的致伤工具在人体组织上会形成不同的损伤形态,不同的致伤工具也可能形成相同的损伤形态。致伤工具品种繁多、形态各异,但大致可分为两类:锐器&…

【12】STM32·HAL库开发-STM32时钟系统 | F1/F4/F7时钟树 | 配置系统时钟

目录 1.认识时钟树(掌握)1.1什么是时钟?1.2认识时钟树(F1)1.2.1STM32F103时钟树简图1.2.2STM32CubeMX时钟树(F103) 1.3认识时钟树(F4)1.3.1F407时钟树1.3.2F429时钟树1.3…

FFmpeg AVFilter的原理(三)- filter是如何被驱动的

首先上官方filter的链接:https://ffmpeg.org/ffmpeg-filters.html 关于filter命令行:FFmpeg-4.0 的filter机制的架构与实现.之一 Filter原理 1、下面是一个avfilter的graph 上图是ffmpeg中doc/examples中filtering_video.c案例的示意图。 特别注意上面蓝…

HPC集群调度系统和计算系统

什么是计算云? 所谓的计算云指的是为计算业务优化的类云基础架构,它强调用云的方式解决计算问题,而不是将“计算”搬到现有的公有云或者容器云上。 目前公有云或者容器云(例如k8s)上的HPC解决方案本质上都是将现有的H…

Linux CentOS监控系统的运行情况工具 - top/htop/glances/sar/nmon

在CentOS系统中,您可以使用以下工具来监控系统的运行情况: 1. top: top 是一个命令行工具,用于实时监控系统的进程、CPU、内存和负载情况。您可以使用以下命令来启动 top: top 输出 2. htop: htop 是一…

【MySQL】数据库基础

今天我们来讲一讲使用MySQL必备的基础知识 目录 一、MySQL的登录选项 二、什么是数据库 三、一些主流数据库 四、 服务器,数据库,表关系 五、mysql的架构 5.1 存储引擎 5.1.1 查看存储引擎 5.1.2 不同存储引擎的对比 六、SQL语言的分类 一、MyS…

IDEA live templates

surround 在SQL的xml里 可以修改变量 官方文档 CDATA not null <if test"$SELECTION$ ! null and $SELECTION$ ! "> and $VAR1$ #{$SELECTION$} </if>not null like mysql <if test"$SELECTION$ ! null and $SELECTION$ ! "> and…

spring-websocket在SpringBoot(包含SpringSecurity)项目中的导入

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f96d;本文内容&#xff1a;spring-websocket在SpringBoot(包含SpringSecurity…

MySQL的变量、流程控制与游标

目录 1.变量的分类 1.系统变量的分类 1.1.二者关系 2.查看系统变量 3.修改系统变量的值 4.用户变量 4.1会话用户变量 1.变量声明与赋值 2.变量使用 4.2.局部变量 1.使用declare 声明 2.局部变量声明格式 3.局部变量赋值 4.变量使用 5.定义条件与处…

微信小程序客服系统-对接消息推送-对接模板订阅消息-嵌入webview客服链接

想要给自己的小程序增加客服系统功能 小程序客服对接导自己的系统等需求&#xff0c;可以参照我开发的客服系统&#xff0c;实现私有化部署搭建对接的微信小程序 小程序消息推送对接 首先登录小程序后台在小程序后台>开发管理>开发设置>服务器域名部分&#xff0c;配置…

Sentinel限流中间件

目录 介绍 Sentinel 的特征 Sentinel 的组成 实战使用 简单实例 配置本地控制台 使用可视化ui配置简单流控 配置异步任务限流 使用注解定义限流资源 SpringCloud整合Sentinel 简单整合 并发线程流控 关联模式 整合openFeign使用 介绍 随着微服务的流行&#xff0…

Ansible自动化运维工具

Ansible自动化运维工具 一、ansible介绍二、ansible环境安装部署三、ansible命令行模块1、command模块2、shell模块3、cron模块4、user模块5、group模块6、copy模块7、file模块8、hostname模块9、ping模块10、yum模块11、service/systemd模块12、script模块13、mount模块14、ar…

list源码分析,基于c++ 和vs2019,cpp20标准

list源码分析,基于c 和vs2019&#xff0c;cpp20标准。结构确实如图&#xff0c;双向环形链表。

python读取json文件

import json# 文件路径(同目录文件名即可,不同目录需要绝对路径) path 1.json# 读取JSON文件 with open(path, r, encodingutf-8) as file:data json.load(file)#data为字典 print(data) print(type(data))

网络安全工程师证书有什么用?什么是网络安全工程师?你想知道的都在这里

随着互联网的发展和大数据时代的到来&#xff0c;网络已经日渐深入到我们生活、工作中的方方面面&#xff0c;社会信息化和信息网络化&#xff0c;突破了应用信息在时间和空间上的障碍&#xff0c;使信息的价值不断提高。但是&#xff0c;与此同时&#xff0c;网页篡改、计算机…

【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程

【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程 文章目录 【深度学习】【三维重建】windows11环境配置tiny-cuda-nn详细教程前言确定版本对应关系源码编译安装tiny-cuda-nn总结 前言 本人windows11下使用【Instant Neural Surface Reconstruction】算法时需要…