欢迎访问宙启技术站
智能推送

TensorFlow.keras模型加载方法及示例

发布时间:2024-01-03 00:57:36

在TensorFlow中,可以使用Keras API来构建和训练神经网络模型。而TensorFlow 2.0开始,Keras已经成为TensorFlow的默认高级API,被称为TensorFlow.keras。

在TensorFlow.keras中,模型的加载可以通过两种方式进行:加载整个模型以及加载模型的权重。

1. 加载整个模型:

要加载整个模型,首先需要将模型保存为.h5或者SavedModel格式的文件。可以使用model.save()方法来保存模型。接下来,可以使用tf.keras.models.load_model()函数来加载模型。

from tensorflow import keras

# 保存模型
model.save('model.h5')

# 加载模型
loaded_model = keras.models.load_model('model.h5')

2. 加载模型的权重:

如果只保存了模型的权重而没有保存整个模型,可以使用model.load_weights()方法来加载权重。可以使用.save_weights()方法来保存模型的权重。

from tensorflow import keras

# 保存模型的权重
model.save_weights('model_weights.h5')

# 加载模型的权重
model.load_weights('model_weights.h5')

以下是一个完整的示例,展示了如何加载整个模型以及加载模型的权重:

from tensorflow import keras

# 构建模型
model = keras.Sequential([
    keras.layers.Dense(64, activation='relu', input_shape=(32,)),
    keras.layers.Dense(64, activation='relu'),
    keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 训练模型
model.fit(data, labels, epochs=10)

# 保存整个模型
model.save('model.h5')

# 加载整个模型
loaded_model = keras.models.load_model('model.h5')

# 保存模型的权重
model.save_weights('model_weights.h5')

# 加载模型的权重
model.load_weights('model_weights.h5')

请注意,加载整个模型时,需要保证模型的结构与保存时的结构完全一致。而加载模型的权重时,只需要保证模型的层次结构相同即可。

以上就是TensorFlow.keras模型加载的方法以及示例,希望可以帮助你加载和使用模型。