Python 如何保存和恢复tensorflow模型?

Python 如何保存和恢复tensorflow模型?,python,tensorflow,neural-network,tensorflow2.0,Python,Tensorflow,Neural Network,Tensorflow2.0,我是这个领域的新手,希望你能帮助我:) 我正在谷歌Colab上训练我的TensorFlow模型,但由于时间有限,我不能运行超过2个时代,因为我的数据量很大 history = model.fit( x=data.train_x, y=data.train_y, validation_split=0.2, batch_size=32, shuffle=True, epochs=2, callbacks=[tensorboard_callback] Epoch 1/2

我是这个领域的新手,希望你能帮助我:) 我正在谷歌Colab上训练我的TensorFlow模型,但由于时间有限,我不能运行超过2个时代,因为我的数据量很大

history = model.fit(
  x=data.train_x, 
  y=data.train_y,
  validation_split=0.2,
  batch_size=32,
  shuffle=True,
  epochs=2,
  callbacks=[tensorboard_callback]

Epoch 1/2
22016/22016 [==============================] - 14481s 657ms/step - loss: 0.3934 - acc: 0.8225 - val_loss: 0.3893 - val_acc: 0.8289
Epoch 2/2
22016/22016 [==============================] - 14466s 657ms/step - loss: 0.2807 - acc: 0.8825 - val_loss: 0.3793 - val_acc: 0.8348

我的问题是,是否可以保存此模型并在第三纪元的第二天恢复训练?

您将丢失可以绘制损失和度量的
历史对象。保存模型历史记录时,对象不会被保留

您需要设置
initial\u epoch
参数。例如:

model.fit(
    ds_train,
    epochs=2,
    validation_data=ds_test,
)

Epoch 1/2
469/469 [==============================] - 2s 4ms/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9015 - val_loss: 0.1918 - val_sparse_categorical_accuracy: 0.9438
Epoch 2/2
469/469 [==============================] - 2s 4ms/step - loss: 0.1628 - sparse_categorical_accuracy: 0.9537 - val_loss: 0.1329 - val_sparse_categorical_accuracy: 0.9621
假设您将其保存为:

model.save('model.h5')
将其加载回:

restored_model = tf.keras.models.load_model('/content/model.h5') # path here
现在,您可以重新适应:

restored_model.fit(
    ds_train,
    initial_epoch=2,
    validation_data=ds_test,
    epochs = 5
)

Epoch 3/5
469/469 [==============================] - 2s 4ms/step - loss: 0.1169 - sparse_categorical_accuracy: 0.9663 - val_loss: 0.1097 - val_sparse_categorical_accuracy: 0.9671
Epoch 4/5
469/469 [==============================] - 2s 4ms/step - loss: 0.0901 - sparse_categorical_accuracy: 0.9735 - val_loss: 0.0942 - val_sparse_categorical_accuracy: 0.9719
Epoch 5/5
469/469 [==============================] - 2s 4ms/step - loss: 0.0730 - sparse_categorical_accuracy: 0.9789 - val_loss: 0.0865 - val_sparse_categorical_accuracy: 0.9724

如果解决了你的问题,请考虑接受答案。如果没有,请告诉我。