一 张量的操作:拼接、切分、索引与变换
切分
1.1 torch.cat() 将张量按维度dim进行拼接 不会拓展张量维度
1.2 torch.stack() 在新创建的维度dim上进行拼接 会拓展张量维度
1.3 torch.chunk() 将张量按维度dim进行平均切分
1.4 torch.split() 将张量按维度dim进行切分 split_size_or_sections:为int时,表示每一份的长度;为list时,按list元素切分。
索引
2.1 torch.index_select()
2.2 torch.masked_select() 按mask中的True进行索引
张量变换
3.1 torch.reshape() 变换张量形状
注意:当张量在内存中是连续时,新张量与input共享数据内存
torch.reshape(t,(-1,4)) 那么第一个维度的大小不必在乎,它根据其他维度的确定值计算得到
3.2 torch.transpose() 交换张量的两个维度
3.3 torch.t() 2维张量转置,对于矩阵而言,等价于torch.transpose(input,0,1)
3.4 torch.squeeze() 压缩长度为1的维度
3.4 torch.unsqueeze() 依据dim扩展维度
二 张量的数学运算
三 线性回归