如何在TensorFlow中保存训练有素的模型?
#python #machinelearning #deeplearning #tensorflow

要保存受过训练的模型在TensorFlow中,请按照以下步骤进行操作:

  1. 创建一个tf.keras.model对象或IT的子类。
  2. 使用fit()方法训练模型。
  3. 创建一个tf.keras.modelcheckpoint回调对象并将其传递到fit()方法作为参数。
  4. 将save_weights_only参数设置为modelcheckpoint回调对象中的true。这将仅节省模型的权重,而不是整个模型结构。
  5. 将模型Checkpoint回调对象中的FilePath参数设置为要保存模型的所需文件位置。
  6. 运行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}')

希望你喜欢!直到那时愉快的编码....