当前位置: 首页 > news >正文

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.lryc.cn/news/95486.html

相关文章:

  • 解决Jmeter响应内容显示乱码
  • ChatGPT和搜索引擎哪个更好用
  • Nginx 301 https跳转后出现跨域和混合内容问题 —— 筑梦之路
  • 记录--关于前端的音频可视化-Web Audio
  • docker-compose yml配置、常用命令
  • 【实战】 七、Hook,路由,与 URL 状态管理(下) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(十三)
  • 【MySQL】_5.MySQL的联合查询
  • 【后端面经】微服务构架 (1-3) | 熔断:熔断-恢复-熔断-恢复,抖来抖去怎么办?
  • 对UITextField输入内容的各种限制-总结
  • 【图论】二分图
  • 数据结构——(一)绪论
  • [ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择
  • 表单验证:输入的字符串以回车分隔并验证是否有
  • 智能财务分析-亿发财务报表管理系统,赋能中小企业财务数字化转型
  • 图为科技T501赋能工业机器人 革新传统工业流程
  • 安全狗深度参与编写的《云原生安全配置基线规范》正式发布!
  • 如何在3ds max中创建可用于真人场景的巨型机器人:第 2 部分
  • Vue中TodoList案例_编辑
  • 什么是Redis?
  • 深入浅出理解vue2/vue3响应式原理
  • ssh连接服务器配置
  • el-table 表头设置渐变色
  • GB/T 25000.51解读——软件产品的易用性怎么测?
  • 408复试day2(7大排序算法)
  • Vue消息订阅与发布
  • MySQL学习笔记 ------ 分组查询
  • Matlab 点云平面特征提取
  • vite的介绍
  • 裁员 10%,暴跌 14%,这家 IT 独角兽正在被抛弃!
  • 电脑记事本在哪里?电脑桌面显示记事本要怎么设置?