返回

深度学习省时妙招:如何保存和恢复TensorFlow训练模型

人工智能

深度学习模型通常需要大量的数据和时间来训练。一旦训练完成,您就需要将模型保存起来,以便以后可以重新使用。TensorFlow提供了几种不同的方式来保存和恢复模型。

最简单的方法是使用tf.saved_model.save()函数。此函数将模型保存到文件系统中的目录中。要加载模型,您可以使用tf.saved_model.load()函数。

import tensorflow as tf

# Create a simple model.
model = tf.keras.Sequential([
  tf.keras.layers.Dense(10, activation='relu', input_shape=(784,)),
  tf.keras.layers.Dense(10, activation='softmax')
])

# Train the model.
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10)

# Save the model.
tf.saved_model.save(model, 'my_model')

# Load the model.
new_model = tf.saved_model.load('my_model')

# Evaluate the model.
new_model.evaluate(x_test, y_test)

您还可以使用tf.train.Saver()类来保存和恢复模型。tf.train.Saver()类允许您指定要保存的变量。要保存模型,您可以使用saver.save()函数。要加载模型,您可以使用saver.restore()函数。

import tensorflow as tf

# Create a simple model.
model = tf.keras.Sequential([
  tf.keras.layers.Dense(10, activation='relu', input_shape=(784,)),
  tf.keras.layers.Dense(10, activation='softmax')
])

# Train the model.
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=10)

# Create a saver.
saver = tf.train.Saver()

# Save the model.
saver.save(sess, 'my_model')

# Load the model.
sess = tf.Session()
saver.restore(sess, 'my_model')

# Evaluate the model.
model.evaluate(x_test, y_test)

保存和恢复模型非常重要,因为它可以让您在不重新训练模型的情况下重新使用模型。这可以节省大量的时间和计算资源。