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不會產生這個錯誤;這是任務。
添加回答
舉報