.reshape()-1或0的含义
x = nd.arange(16)
y = x.reshape(-1, 4)
结果:
[[ 0. 1. 2. 3.]
[ 4. 5. 6. 7.]
[ 8. 9. 10. 11.]
[ 12. 13. 14. 15.]]
<NDArray 4x4 @cpu(0)>
x = nd.arange(16).reshape(-1, 4)
y = x.reshape(0, 1)
结果
[[ 0.]
[ 1.]
[ 2.]
[ 3.]]
<NDArray 4x1 @cpu(0)>
- 如果为0,保持和原通道数一致
- 如果等于-1的话,那么根据剩下的维度计算出数组的另外一个shape属性值。
x.reshape(-1, 4)
也就是说,先前我们不知道x的shape属性是多少,但是想让x变成只有四列,行数不知道多少,通过x.reshape(-1,4)
,自动计算出有4行,新的数组shape属性为(4, 4)
,与原来配套。