Pytorch学习笔记(二)

张量的操作

1、拼接,切分,索引,和变换
2、张量的数学运算
3、线性回归

1、拼接,切分,索引,和变换

(1) 拼接与切分

① torch.cat(tensors, dim, out=None)
功能:将张量按维度dim进行拼接
tensors:张量序列
dim:要拼接的维度
② torch.stack(tensors, dim, out=None)
功能:在新创建的维度dim上进行拼接
tensors:张量序列
dim:要拼接的维度
③torch.chunk(input, chunks, dim=0)
功能:将张量按维度dim进行平均切分
返回值:张量列表
注意:若不能整除,最后一份张量小于其他张量
input:要切分的张量
chunks:要切分的份数
dim:要切分的维度
④ torch.split(tensor, split_size_sections, dim=0)
功能:将张量按维度dim进行切分
返回值:张量列表
tensor:要切分的张量
split_size_sections:为int时,表示每一份的长度,为list时,按list元素进行切分
dim:要切分的维度

(2)索引

① torch.index_select(input, dim, index, out=None)
功能:在维度dim上,按index索引数据
返回值:依index索引数据拼接的数据
input:要索引的张量
dim:要索引的维度
index:要索引数据的序号
② torch.masked_select(input, mask, out=None)
功能:按mask中的True进行索引
返回值:一维张量
input:要索引的张量
mask:与input同形状的布尔类型张量

(3)变换

①torch.reshape(input, shape)
功能:变换张量形状
注意:当张量在内存中连续时,新张量与input共享数据内存
input:要变换的张量
shape:张量的形状
②torch.transpose(input, dim0, dim1)
功能:变换两张量的维度
③torch.t(input)
功能:二维张量转置
④torch.squeeze(input, dim, out=None)
功能:压缩长度为1的维度
dim:为None,移除所有维度为1的维度,指定维度,当为1时移除该维度
⑤ torch.unsqueeze(input,dim,out=None)
功能:依据dim扩展维度
dim:扩展的维度

2、数学运算

Pytorch学习笔记(二)_第1张图片

你可能感兴趣的:(机器学习,Pytorch)