reshape eine Reihe von Bildern

Ich habe 60000 train_images als Shape-Matrix (28,28,60000) eingelesen. Es ist ein numpy.ndarray. Ich möchte es in ein Array von eindimensionalen Bildern konvertieren, dh jedes Bild wird als einzelne Zeile / Array von Zahlen dargestellt, und ich möchte 60000 Arrays. Mit anderen Worten, ich möchte von (28, 28, 60000) zu (60000, 28 * 28) wechseln. In Python wäre es:

images_features = []
for image in images:
    imageLine = []
    for y in range(len(image)):
        for x in range(len(image[0])):
            imageLine.append(image[y][x])
    images_features.append(imageLine)

Wie kann ich das machen? Ich vermute, dass ich eine Umformung verwenden muss, aber ich konnte nicht herausfinden, wie genau ich dies tun kann.

So bekomme ich die Bilder:

data = scipy.io.loadmat('train.mat')


images = data["train_images"]

Die "Bilder" sind also das Array, von dem ich spreche.

Jemand schlug mir vor, dass:

"Möglicherweise müssen Sie Achsen ändern oder kombinieren, um die gewünschte Funktionalität zu erhalten. Ich empfehle, sie auch zu zeichnen, falls ein Bild seitwärts geraten sollte. Achten Sie darauf, dass Sie mit Ihren Achsen gewissenhaft umgehen, um weitere Probleme zu vermeiden."

Ich habe keine Ahnung, auf welche "Achsen" hier Bezug genommen wird und wie das oben Gesagte zu berücksichtigen ist.

Kann jemand erklären, was ich tun muss und warum? (Was es macht

Antworten auf die Frage(6)

Ihre Antwort auf die Frage