要保存受过训练的模型在TensorFlow中,请按照以下步骤进行操作:
- 创建一个tf.keras.model对象或IT的子类。
- 使用fit()方法训练模型。
- 创建一个tf.keras.modelcheckpoint回调对象并将其传递到fit()方法作为参数。
- 将save_weights_only参数设置为modelcheckpoint回调对象中的true。这将仅节省模型的权重,而不是整个模型结构。
- 将模型Checkpoint回调对象中的FilePath参数设置为要保存模型的所需文件位置。
- 运行fit()方法以训练模型并将其保存在指定的文件位置。
示例:
# Create a model
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(10,)),
tf.keras.layers.Dense(64, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
# Train the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Create a ModelCheckpoint callback to save the model weights
checkpoint = tf.keras.callbacks.ModelCheckpoint(filepath='/tmp/model.h5', save_weights_only=True)
# Train the model and save the weights
model.fit(x_train, y_train, epochs=10, callbacks=[checkpoint])
然后,您可以使用模型对象的Load_Weights()方法加载保存的模型权重:
# Load the saved model weights
model.load_weights('/tmp/model.h5')
# Evaluate the model on the test data
loss, accuracy = model.evaluate(x_test, y_test)
print(f'Test loss: {loss}, Test accuracy: {accuracy}')