pytorch张量数据类型

python常用数据类型在pytorch中的对应

python PyTorch
Int IntTensor of size()
float FloatTensor of size()
Int array IntTensor of size d1, d2,...
float array FloatTensor of sized1, d2,...
string - -

pytorch不是一个完备的语言库,而是一个面向数据计算的GPU加速库,对str字符类型没有直接支持的对应数据类型。

复制代码
在免不了要处理str的情况下,那要如何表达str呢
	1、One-hot
		[0,1,0,0,...]
		如表达猫狗两类别
	2、Embedding(NLP):
		Word2vec
		glove

torch常用内置数据类型

数据类型推断

复制代码
a为二维tensor数据,随机初始化两行三列数据
a.type() 返回一个字符串告诉a,其tensor的类型
type(a) 返回a的数据类型
isinstance(a,某tensor数据类型) 参数合法化检验,如果a跟该tensor数据类型一致,返回True

注:CPU和GPU的tensor不是同一类型,可以使用.cuda(),a.cuda()可以返回一个gpu上的引用

标量

标量是最简单的数据类型,dim为0

在python中直接表示为1.0、1.3,pytorch中的表示为:

复制代码
torch.tensor(1.)
torch.tensor(1.3)
注:1.3是0维,但[1.3]是一维,长度为1的tensor

标量的shape:

复制代码
a = torch.tensor(2.2)
a.shape 或者 a.size()
# 因为a是一个标量,会返回一个空的list类型的size
len(a.shape) 或者用 a.dim()
# 结果都会返回0的大小

向量

在torch中都统一称为张量

dim = 1时

复制代码
torch.tensor([x1,x2,...])
#dim=1,张量长度可以为1,2,。。。

torch.FloatTensor(n)
#随机生成长度为n的一维张量

也可以从numpy引入
先通过numpy方法生成长度为n的向量
data = np.ones(n)
再使用 torch.from_numpy(data)引入
# 或者直接 torch.ones(2)

注: 主要用在 1、Bias,2、batch为1,dim为1.图片打平后的线性输入。

dim = 2时

复制代码
随机初始化一个两行三列张量a
a = torch.randn(2,3)

a的尺寸:
a.shape
a.size()

具体看某一维度大小
a.shape[0] / a.shape[1]
a.size(0) / a.size(1)

dim = 3时

三维使用场景比较广泛,如 RNN语言处理

假如有5句话,每句话10个单词,batch设置每次处理8个单词

则输入为8,5,10

复制代码
a = torch.rand(1,2,3)
# 生成三维张量
a.shape
a.[0] # ->(2,3)
list(a.shape)
#将a的尺寸格式转化为python通用列表

dim = 4时

较广泛适用于图片数据处理,如CNN:b, c, h, w

a.dim()查询维度为4

a.numel()

#a占有内存的数量,2328*28

相关推荐
武天旭8 分钟前
AI安全--AI大模型赋能安全攻防的关键技术
人工智能·安全
荆棘鸟智能10 分钟前
河道采砂船识别与轨迹追踪怎么做?检测、跟踪与电子围栏实战思路
人工智能·算法·目标检测
xwz小王子12 分钟前
一根光纤上的“触觉触手“:Nature Communications 光纤触觉 微操作 机器人
人工智能·机器人
shxjnpl13 分钟前
从 WenetSpeech-Yue 到 SenseVoice:如何通过专项微调提升粤语语音识别效果?
人工智能·语音识别·实时音视频
pt104316 分钟前
Cisco设备网络安全系列-17:AI驱动安全应用与量子计算安全影响
网络·人工智能·安全
得物技术19 分钟前
Jev 实战:为AI工作流引入轻量决策层 x10倍提速|得物技术
python·llm·测试
reasonsummer27 分钟前
【教学类-07-12】20261028大3班破译电话号码html(手机按钮版本)
python·html
美狐美颜SDK开放平台30 分钟前
视频美颜SDK如何应对快速转头与大幅度面部动作?
android·人工智能·ios·音视频·直播美颜sdk·视频美颜sdk
摇滚侠33 分钟前
《On Java 中文版 基础卷》阅读笔记 复用 13
java·笔记·python
大耳朵爱学习39 分钟前
Andrew Ng深度解析:普通人如何利用AI把想法变成工具,实现工作自动化(小白程序员必看)
运维·人工智能·ai·自动化·大模型·就业·大模型学习