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)
相关推荐
jiushun_suanli3 分钟前
AI生成音频:技术概述与实践指南
人工智能·经验分享·音视频
五度易链-区域产业数字化管理平台9 分钟前
五度易链产业大脑技术拆解:AI + 大数据 + 云计算如何构建产业链数字基础设施?
大数据·人工智能·云计算
百锦再10 分钟前
金仓数据库提出“三低一平”的迁移理念
开发语言·数据库·后端·python·rust·eclipse·pygame
野生工程师17 分钟前
【Python爬虫基础-1】爬虫开发基础
开发语言·爬虫·python
m0_6501082424 分钟前
【论文精读】SV3D:基于视频扩散模型的单图多视角合成与3D生成
人工智能·论文精读·视频扩散模型·单图 3d 生成
力江25 分钟前
攻克维吾尔语识别的技术实践(多语言智能识别系统)
人工智能·python·自然语言处理·语音识别·unicode·维吾尔语
糖葫芦君38 分钟前
基于树结构突破大模型自身能力
人工智能·深度学习·大模型
诗句藏于尽头39 分钟前
MediaPipe+OpenCV的python实现交互式贪吃蛇小游戏
人工智能·python·opencv
汽车仪器仪表相关领域40 分钟前
汽车排放检测的 “模块化核心”:HORIBA OBS-ONE GS Unit 气体分析单元技术解析
大数据·人工智能·功能测试·车载系统·汽车·安全性测试·汽车检测
盼哥PyAI实验室1 小时前
Python 正则表达式实战 + 详解:从匹配QQ邮箱到掌握核心语法
python·mysql·正则表达式