一、张量拼接与切分
1.1 torch.cat()
功能:将张量按维度dim进行拼接
? tensors: 张量序列
? dim : 要拼接的维度
torch.cat(tensors,
dim=0,
out=None)
1.2
torch.stack()
功能:在新创建的维度dim上进行拼接
? tensors:张量序列
? dim :要拼接的维度
torch.stack(tensors,
dim=0,
out=None)
1.3
torch.chunk()
功能:将张量按维度dim进行平均切分
返回值:张量列表
注意事项:若不能整除,最后一份张量小于
其他张量
? input: 要切分的张量
? chunks : 要切分的份数
? dim : 要切分的维度
torch.chunk(input,
chunks,
dim=0)
1.4
torch.split()
功能:将张量按维度dim进行切分
返回值:张量列表
? tensor: 要切分的张量
? split_size_or_sections : 为int时,表示
每一份的长度;为list时,按list元素切分
? dim : 要切分的维度
torch.split(tensor,
split_size_or_sections,
dim=0)
二、张量索引 2.1
torch.index_select()
功能:在维度dim上,按index索引数据
返回值:依index索引数据拼接的张量
? input: 要索引的张量
? dim: 要索引的维度
? index : 要索引数据的序号
torch.index_select(input,
dim,
index,
out=None)
2.2
torch.masked_select()
功能:按mask中的True进行索引
返回值:一维张量
? input: 要索引的张量
? mask: 与input同形状的布尔类型张量
torch.masked_select(input,
mask,
out=None)
三、张量变换 3.1
torch.reshape()
功能:变换张量形状
注意事项:当张量在内存中是连续时,新张
量与input共享数据内存
? input: 要变换的张量
? shape: 新张量的形状
torch.reshape(input,
shape)
3.2
torch.transpose()
功能:交换张量的两个维度
? input: 要变换的张量
? dim0: 要交换的维度
? dim1: 要交换的维度
torch.transpose(input,
dim0,
dim1)
3.3
torch.t()
功能:2维张量转置,对矩阵而言,等价于
torch.transpose(input, 0, 1)
torch.t(input)
3.4
torch.squeeze()
功能:压缩长度为1的维度(轴)
? dim: 若为None,移除所有长度为1的轴;
若指定维度,当且仅当该轴长度为1时,可
以被移除;
torch.squeeze(input,
dim=None,
out=None)
3.5
torch.unsqueeze()
功能:依据dim扩展维度
? dim: 扩展的维度
torch.usqueeze(input,
dim,
out=None)
四、张量数学运算 4.1加减乘除
torch.add()
torch.addcdiv()
torch.addcmul()
torch.sub()
torch.div()
torch.mul()
【Pytorch教程|Pytorch教程[01]张量操作】
torch.add()
功能:逐元素计算 input+alpha×other
? input: 第一个张量
? alpha: 乘项因子
? other: 第二个张量
torch.add(input,
alpha=1,
other,
out=None)
4.2对数,指数,幂函数
torch.log(input, out=None)
torch.log10(input, out=None)
torch.log2(input, out=None)
torch.exp(input, out=None)
torch.pow()
4.3三角函数
torch.abs(input, out=None)
torch.acos(input, out=None)
torch.cosh(input, out=None)
torch.cos(input, out=None)
torch.asin(input, out=None)
torch.atan(input, out=None)
torch.atan2(input, other, out=None)
推荐阅读
- Something|《Python深度学习》之卷积神经网络可视化
- Pytorch教程|Pytorch教程[02]DataLoader与Dataset
- Pytorch教程|Pytorch教程[04]torch.nn---Containers
- DEEP|什么是端到端神经网络()
- Python基础|快速傅里叶变换及python代码实现
- 问答系统|简单问答系统实现原理 - 基于机器学习的
- 深度学习|【深度学习】经典网络-VGG复现(使用Tensorflow实现)
- python|整理了 47 个 Python 人工智能库
- 图灵奖得主Yann LeCun走进百度,与世界研究工作者展开交流