Ich bin in Ordnung, die Einführung v3-Modell auf cifar10 Datensatz. Nach dem Speichern ist die Größe des Modells 175 Mo, vor dem Training sind es etwa 90 Mo, also frage ich mich, warum das fein abgestimmte Modell größer ist? Wenn ich die Anzahl der Parameter der beiden Modelle anschaue, ist es fast gleich.Keras Gewicht eines Modells größer als erwartet
Original-Modell: Gesamt params: 23851784 Trainierbare params: 23817352 Nicht trainierbar params: 34.432
Fein abgestimmte Modell: Gesamt params: 21823274 Trainierbare params: 21788842 Nicht trainierbar params: 34.432
Hat jemand eine Idee dazu? Um das Modell zu speichern, verwende ich die Funktion ModelCheckpoint in einem Callback innerhalb der Fit-Generator-Funktion.
checkpoints = ModelCheckpoint(output+'-{epoch:02d}.hdf5', verbose=1, save_best_only=False, period=checkpoint)
callbacks_list = [callback_tensorboard, checkpoints]
# train
model.fit_generator(train_generator,
steps_per_epoch=step_train,
epochs=epochs,
verbose=1,
validation_data=test_generator,
validation_steps=step_test,
callbacks=callbacks_list)
Mit den Worten: "Der Zustand des Optimierers, damit Sie das Training direkt von einem Kontrollpunkt aus fortsetzen können" Meinen Sie den exponentiell gewichteten gleitenden Durchschnitt in einer Mitte der Epoche zu speichern? Ich meine, ich verstehe nicht, warum ich das Modell während des Trainings retten soll, wenn wir es vor dem Start des Zuges einmal speichern können. Wenn ich das Training wieder aufnehmen möchte, muss ich einfach wieder mit den Gewichten der letzten abgeschlossenen Epoche beginnen. Also die save_weights_only ist meiner Meinung nach nicht sinnvoll? Es sollte immer wahr sein, ich kann wirklich keinen Fall finden, wo ich das Modell während des Trainings speichern möchte? –
@StavBodik Es ist nicht in der Mitte einer Epoche, es ist normalerweise am Ende von einem. Wenn Sie nicht mit gespeicherten gleitenden Durchschnitten beginnen, kann das Training instabil sein oder divergieren. –
Aber die Gewichte werden trotzdem gespeichert, das ist eines der wichtigsten Features dieses Checkpoints, warum sollte ich das Modell auch während des Trainings speichern? Modell per definitionem ist etwas Konstantes, das sich während des Zuges nicht ändert. –