Ich würde einen Tipp oder zwei von denen von Ihnen, die mit Keras erfahren sind. Dies ist mein erstes Rodeo, und der Bronco sträubt sich mächtig!Fehler in der Anpassung des Modells und input_shape mit keras ConvNet
Ich habe Lungenbilder vorverarbeitet und 48x48x48mm kubische Arrays extrahiert, die Pixel in Bereichen von Interesse darstellen (dtype = uint8). Ich habe diese 8504 Würfel in * .npy Dateien gespeichert.
Wenn ich eine Liste der Würfel auf das Modell als Trainingsdaten übergeben, in denen ich folgende Fehlermeldung:
„Fehler bei der Überprüfung Modelleingabe: Die Liste der Numpy Arrays, die Sie zu Ihrem Modell sind vorbei ist nicht die Größe, die das Modell erwartet. Es wird erwartet, dass 1 Arrays angezeigt werden, aber stattdessen die folgende Liste mit 8504-Arrays erhalten wird ".
Was könnte ich falsch machen?
Der entsprechende Code:
# input layer of model
c3d_model.add(Convolution3D(64, 8,8,8, activation='relu', border_mode='same',
name='conv1', input_shape=(48, 48, 48, 1)))
# other layers ....
# get_data()
cubes = [np.load(os.path.join(CUBES_DIR, cubefile)) for cubefile in cubefiles] # cubefiles is a list of 8504 filenames
# shuffle data and labels to avoid skewing the training
ix = [i for i in range(len(labels))]
shuffle(ix)
X_cubes = [cubes[i] for i in ix]
Y_labels = [labels[i] for i in ix]
# and here's where I run aground
model.fit(cubes, Y_labels, validation_split=0.30, nb_epoch=1, batch_size=32, callbacks=[save_weights], verbose=2)
Dank!
Hallo @vega, du hast mich über diesen Fehler, danke! Und ja, das X war ein Fehler. Aber jetzt sehe ich einen anderen Fehler nach X_cubes als numpy Array übergeben: _ValueError: Fehler beim Überprüfen der Modelleingabe: erwartet convolution3d_input_14 zu 5 Dimensionen haben, aber Array mit Form (8504, 1) ._ Irgendwelche Gedanken dazu? – ChrisFal
Ja, Ihre Eingabe ist die falsche Form. Wenn Sie 'cubes [0] .shape 'eingeben, was sagt es? Wie werden die Daten in der Datei formatiert, aus der Sie laden? Sie müssen dies wissen, damit Sie wissen, wie Sie die Daten für das Netzwerk richtig gestalten. – vega
Würfel [0] .shape == (48, 48, 48) - Schätzen Sie die Hilfe, @vega! – ChrisFal