1.reshape(m,n) 即: 将矩阵变成 m x n列矩阵
1.1代码:
import torch
x = torch.arange(12) # 生成一维行向量 ,从1到11
x
1.1结果:
tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
1.2代码:
x.reshape(3,4) # 将矩阵x变成 3行4列矩阵
1.2结果:
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
1.3代码:
x.reshape(1,-1) # -1代表这个无此列,列数为0,所以表示为一整行
1.3结果:
tensor([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]])
1.4代码:
x.reshape(3,-1) # -1代表这个无此列,列数为0,所以表示为3行
1.4结果:
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
1.5代码:reshape(p,m,n)
x.reshape(2,3,2) # 先将矩阵变成 2行,3X2=6列矩阵,再将后面矩阵变成3行2列
结果:
第一步:变成2行6列:
tensor([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
第二步:将6列变成3行2列
tensor([[[ 0, 1],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[10, 11]]])