1 回答
TA贡献1828条经验 获得超6个赞
如果这不起作用:
In [80]: x = np.ones((256,256,1))
In [81]: x.reshape(65536,).reshape((256,256,1));
你的阵列一定有什么不寻常的地方。更完整的数组描述(不仅是形状,还有 dtype)以及代码和完整的回溯可能会有所帮助。
===
你编辑表明你正在做的不止reshape。您正在尝试将重塑的(子)阵列放回原始阵列。
将维度添加到x:
In [86]: x = np.ones((1,256,256,1))
子数组的重塑仍然有效:
In [88]: x[0].reshape(65536);
但试图将重新整形的数组放回x会产生错误:
In [89]: x[0] = x[0].reshape(65536);
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-89-c488a5e4f450> in <module>
----> 1 x[0] = x[0].reshape(65536);
ValueError: could not broadcast input array from shape (65536) into shape (256,256,1)
就像我写的那样,reshape不会产生这个错误;这是任务。
添加回答
举报