Mindestens ein Element in Ihrer Liste ist entweder nicht dreidimensional oder seine zweite oder dritte Dimension stimmt nicht mit den anderen Elementen überein. Wenn nur die erste Dimension nicht übereinstimmt, werden die Arrays immer noch abgeglichen. Als einzelne Objekte wird jedoch kein Versuch unternommen, sie zu einem neuen (vierdimensionalen) Array abzugleichen. Einige Beispiele sind unten:
Das heißt, die säumige Elements shape != (?, 224, 3)
,
oder ndim != 3
(mit dem ?
Wesen nicht negative ganze Zahl).
Das ist es, was Ihnen den Fehler gibt.
Sie müssen das beheben, um Ihre Liste in ein vier- (oder dreidimensionales) Array verwandeln zu können. Ohne Kontext ist es unmöglich zu sagen, ob Sie eine Dimension aus den 3D-Elementen verlieren oder eine zu den 2D-Elementen hinzufügen möchten (im ersten Fall) oder die zweite oder dritte Dimension ändern möchten (im zweiten Fall).
Hier ist ein Beispiel für den Fehler:
>>> a = [np.zeros((224,224,3)), np.zeros((224,224,3)), np.zeros((224,224))]
>>> np.array(a)
ValueError: could not broadcast input array from shape (224,224,3) into shape (224,224)
oder andere Art der Eingabe, aber der gleiche Fehler:
>>> a = [np.zeros((224,224,3)), np.zeros((224,224,3)), np.zeros((224,224,13))]
>>> np.array(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not broadcast input array from shape (224,224,3) into shape (224,224)
Alternativ ähnlich, aber mit einer anderen Fehlermeldung:
>>> a = [np.zeros((224,224,3)), np.zeros((224,224,3)), np.zeros((224,100,3))]
>>> np.array(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not broadcast input array from shape (224,224,3) into shape (224)
Folgendes wird jedoch funktionieren, wenn auch mit anderen Ergebnissen als (vermutlich) beabsichtigt:
>>> a = [np.zeros((224,224,3)), np.zeros((224,224,3)), np.zeros((10,224,3))]
>>> np.array(a)
>>> newa = np.array(a)
>>> newa.shape
3
>>> newa.dtype
dtype('O')
>>> newa[0].shape
(224, 224, 3)
>>> newa[1].shape
(224, 224, 3)
>>> newa[2].shape
(10, 224, 3)
>>>