source: tensorflow tutorials - Save and Load
I trained my model with EfficientNetB0 from tensorflow hub It went well when fit.
# Fit EfficientNet model
efficientnet_history = efficientnet_model.fit(train_data,
epochs=2,
steps_per_epoch=len(train_data),
validation_data=test_data,
validation_steps=len(test_data),
callbacks = [learning_rate_reduction, modelCheckpoint])
results:
2022-12-23 11:05:43.012196: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)
Epoch 1/2
2022-12-23 11:05:51.883413: I tensorflow/stream_executor/cuda/cuda_dnn.cc:369] Loaded cuDNN version 8302
11/11 [==============================] - 20s 819ms/step - loss: 2.1915 - accuracy: 0.2649 - val_loss: 1.9363 - val_accuracy: 0.3286
Epoch 00001: saving model to training_1\cp.ckpt
Epoch 2/2
11/11 [==============================] - 6s 580ms/step - loss: 1.8275 - accuracy: 0.5000 - val_loss: 1.5922 - val_accuracy: 0.6429
Epoch 00002: saving model to training_1\cp.ckpt
But why this model cannot be saved with efficientnet_history.save
?
my code:
efficientnet_history.save("signlen_efficientnet_model.h5")
error:
Traceback (most recent call last):
File "c:/Users/OOO/Desktop/Projects/SignLens/test/ASL_for_fun/asl_train.py", line 89, in <module>
efficientnet_history.save("signlen_efficientnet_model.h5")
AttributeError: 'History' object has no attribute 'save'
How to save model correctly? Or, is there another way to save model?
The reason you are getting this error is because you are calling save
on a History object. You should call save
on the model itself.
For example, change this:
efficientnet_history.save("signlen_efficientnet_model.h5")
To this:
efficientnet_model.save("signlen_efficientnet_model.h5")