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

Pytorch张量

 在conda的环境中安装Jupyter及其他软件包

Pytorch 建立在张量(tensor)之上,Pytorch张量是一个 n 维数组,类似于 NumPy 数组。专门针对GPU设计,可以运行在GPU上以加快计算效率。换句话说,Pytorch张量是可以运行在GPU上的多维数据。

 

目录

基础语法

定义张量数据类型

默认数据类型

指定数据类型

改变张量数据类型

张量与Numpy数组间的转换

将张量转换为 Numpy 数组

将 Numppy 数组转换为张量

在设备间移动张量

默认在CPU上定义张量

定义CUDA设备

将张量移动到CUDA设备

将张量移动到CPU

在任意设备上定义张量


基础语法

Pytorch张量

Numpy数组

torch.ones(.)numpy.ones(.) 创建一个一数组
torch.zeros(.) numpy.zeros(.)创建一个零数组
 torch.rand(.)numpy.random.rand(.)创建随机数组
torch.tensor(.)numpy.array(.) 从给定值创建数组
x.shape or x.size()x.shape获取数组形状

定义张量数据类型

默认数据类型

默认张量数据类型为 torch.float32

import torch
x = torch.ones(2, 2)
print(x)
print(x.dtype)

 

指定数据类型

x = torch.ones(2, 2, dtype=torch.int8)
print(x)
print(x.dtype)

改变张量数据类型

先定义一个张量,打印其数据类型

x=torch.ones(1)
print(x.dtype)

 通过".type()"命令改变数据类型

x=x.type(torch.torch.uint8)
print(x.dtype)

 可以看到数据类型由torch.float32改变为了torch.uint8

张量与Numpy数组间的转换

将张量转换为 Numpy 数组

 定义一个随机张量

x=torch.rand(2,2)
print(x)
print(x.dtype)

 

通过".numpy()"命令转换为numpy数组

y=x.numpy()
print(y)
print(y.dtype)


将 Numppy 数组转换为张量

定义一个numpy数组

import numpy as np
x=np.zeros((2,2),dtype=np.float32)
print(x)
print(x.dtype)

用".from_numpy()"命令转换为张量

y=torch.from_numpy(x)
print(y)
print(y.dtype)

在设备间移动张量

一般情况下,Pytorch 张量存储在 CPU 上,张量运行在 GPU上 以加快计算速率,这是张量的主要优势。为了有效利用这个优势,需要将张量移动到 CUDA 设备,可以使用 .to 方法将张量移动到相应设备上。 

默认在CPU上定义张量

使用".tensor()"命令,张量一般默认定义在CPU上

x=torch.tensor([1, 1.5])
print(x)
print(x.device)

 

 

定义CUDA设备

if torch.cuda.is_available():device=torch.device("cuda:0")
torch.cuda.current_device()

 

 

将张量移动到CUDA设备

x = x.to(device)
print(x)
print(x.device)

 

 

将张量移动到CPU

device = torch.device("cpu")
x = x.to(device)
print(x)
print(x.device)

 

在任意设备上定义张量

device = torch.device("cuda:0")
x = torch.ones(2,2, device=device)
print(x)

 

http://www.lryc.cn/news/397506.html

相关文章:

  • 医院同步时钟系统提供可靠的时间支持
  • 【中项第三版】系统集成项目管理工程师 | 第 11 章 规划过程组② | 11.3 - 11.5
  • 无人直播赚钱的底层逻辑是什么?一文揭晓!
  • d3dcompiler_43.dll文件是什么?如何快速有效的解决d3dcompiler_43.dll文件丢失问题
  • Git分支结构
  • 测试流程规范建设
  • 启英泰伦CI13LC系列:打造AI语音芯片性价比之王!
  • headerpwn:一款针对服务器响应与HTTP Header的模糊测试工具
  • 2021 RoboCom 世界机器人开发者大赛-本科组(复赛):拼题A打卡奖励
  • flink 大数据处理资源分配
  • 独立站营销新思路:携手TikTok达人,促进用户参与与品牌传播
  • 工单管理系统能解决什么?
  • 探索Facebook在人工智能领域的最新进展
  • Deepspeed : AttributeError: ‘DummyOptim‘ object has no attribute ‘step‘
  • 【Python123题库】#查询省会 #字典的属性、方法与应用
  • 数据建设实践之大数据平台(一)
  • 【MIT 6.5840/6.824】Lab1 MapReduce
  • 如何在 C 语言中进行选择排序?
  • 开源浏览器引擎对比与适用场景:WebKit、Chrome、Gecko
  • DNF客户端使用
  • 打包时提示:Missing Gradle Project Information.或者在加载gradle时出错
  • 基于前馈神经网络 FNN 实现股票单变量时间序列预测(PyTorch版)
  • Scikit Learn - 建模手册(02)--- 数据表示、估算器
  • 【鸿蒙学习笔记】通过用户首选项实现数据持久化
  • LabVIEW航空发动机试验器数据监测分析
  • 快速上手:前后端分离开发(Vue+Element+Spring Boot+MyBatis+MySQL)
  • 产品推荐| 长江存储eMMC嵌入式储存 YMTC EC230
  • 【Linux】IP地址与主机名
  • ros2--colcon
  • PyCharm 2023.3.2 关闭时一直显示正在关闭项目