Pytorch张量

在conda的环境中安装Jupyter及其他软件包
Pytorch 建立在张量(tensor)之上,Pytorch张量是一个 n 维数组,类似于 NumPy 数组。专门针对GPU设计,可以运行在GPU上以加快计算效率。换句话说,Pytorch张量是可以运行在GPU上的多维数据。

目录

基础语法

定义张量数据类型

默认数据类型

指定数据类型

改变张量数据类型

张量与Numpy数组间的转换

[将张量转换为 Numpy 数组](#将张量转换为 Numpy 数组)

[将 Numppy 数组转换为张量](#将 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)
相关推荐
在努力的韩小豪29 分钟前
如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
人工智能·python·llm·prompt·agent·ai应用·mcp
云卓SKYDROID29 分钟前
无人机环境感知系统运行与技术难点!
人工智能·计算机视觉·目标跟踪·无人机·科普·高科技·云卓科技
网安INF1 小时前
深度学习中的 Seq2Seq 模型与注意力机制
人工智能·深度学习·神经网络·注意力机制·seq2seq
火山引擎开发者社区1 小时前
ByteBrain x 清华 VLDB25|时序多模态大语言模型 ChatTS
人工智能·语言模型·自然语言处理
SoaringPigeon1 小时前
从深度学习的角度看自动驾驶
人工智能·深度学习·自动驾驶
产品经理独孤虾1 小时前
如何利用AI大模型对已有创意进行评估,打造杀手级的广告创意
人工智能·大模型·aigc·产品经理·数字营销·智能营销·智能创意生成
MobotStone2 小时前
无代码+AI时代,为什么你仍然需要像个开发者一样思考
人工智能·算法
Otaku love travel2 小时前
实施运维文档
运维·windows·python
测试老哥2 小时前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
张较瘦_2 小时前
[论文阅读] 人工智能 + 软件工程 | LLM辅助软件开发:需求如何转化为代码?
论文阅读·人工智能·软件工程