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)
相关推荐
华研前沿标杆游学1 小时前
华为松山湖高阶研学|企业数字化转型游学攻略
python
ting94520006 小时前
Humalike X Hermes 深度技术剖析:单指令注入群聊社交智能的底层架构、算法与跨 IM 平台实现
人工智能·算法·架构
Data_Journal6 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
涤生大数据6 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
东风破_6 小时前
Vibe Coding 上头之后,我开始用 SDD 给 AI 编程加一张“施工图”
人工智能·程序员
豆角焖肉6 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
weixin_403810136 小时前
AI智能体写安卓自动化脚本教程:Cursor/Trae+CLI 实战,自然语言生成代码
android·人工智能·自动化·跨境电商·安卓自动化脚本·多账户运营
青 春 记 忆6 小时前
零基础入门python20:Flask配置、扩展和蓝图拆分
python·flask·后端开发
深圳雨林凯AI6 小时前
雨林凯AI四方连图介质适配原理:像素密度、纱线纹理与颜色管理怎么协调
人工智能
ZGIAI7 小时前
ZGI 混合检索:汇集候选并统一重排
人工智能·架构