Если это не работает:
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
не вызывает этой ошибки; выполняет задание