rehsape函数有一个比较特殊的-1,这个在许多代码上也是使用的比较频繁
关于-1这部分理解参考这篇文章:
1分钟理解pytorch的reshape函数中-1表示的意义
-1的值为总元素个数除以(其他维度值相乘)
比如原始tensor维度为(2,2,3),reshape为(-1,3,4),-1的值就为12/(3×4)=1,即reshape后的tensor的shape为(1,3,4)
* 当ceil_mode = True时:
0 0 | 0 0 | 0 ×
0 1 | 0 1 | 1 ×
-----------------------
2 2 | 2 2 | 2 ×
3 3 | 3 3 | 3 ×
-----------------------
4 4 | 4 4 | 4 ×
× × | × × | × ×
输出:输出3*3维
[1 1 1
3 3 3
4 4 4]
即:数据不足以构成2*2,仍然对剩余数据进行计算
* 当ceil_mode = False时:输出2*2维
0 0 | 0 0
1 1 | 1 1
--------------
2 2 | 2 2
3 3 | 3 3
输出:
[1 1
3 3]
即:数据不足以构成2*2,舍弃