要保存和恢复自定义模型,您可以使用TensorFlow的SavedModel API。下面是一个保存和恢复自定义模型的示例代码:
首先,定义和训练模型:
import tensorflow as tf
# 定义自定义模型
class MyModel(tf.keras.Model):
def __init__(self):
super(MyModel, self).__init__()
self.dense = tf.keras.layers.Dense(64, activation='relu')
self.dropout = tf.keras.layers.Dropout(0.5)
self.output_layer = tf.keras.layers.Dense(10)
def call(self, inputs):
x = self.dense(inputs)
x = self.dropout(x)
return self.output_layer(x)
# 创建模型实例
model = MyModel()
# 编译模型
model.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
# 训练模型
model.fit(x_train, y_train, epochs=10)
保存模型:
# 创建保存器
export_path = './saved_model'
tf.saved_model.save(model, export_path)
恢复模型:
# 加载模型
loaded_model = tf.saved_model.load(export_path)
# 验证模型
test_loss, test_acc = loaded_model.evaluate(x_test, y_test, verbose=2)
print('Test accuracy:', test_acc)
这是一个简单的示例,您可以根据自己的模型结构和需求进行适当的更改。请确保在保存和恢复模型时使用相同的模型定义和训练方式。
下一篇:保存和恢复自定义视图的实例