我正在尝试保存和加载 Keras 和/或 TensorFlow 模型,并按照 Keras 文档 和 TensorFlow 教程 来解决问题。 在我的 PC 上的 VS Code 中,本机
.keras
格式和 TensorFlow 教程中描述的 SavedModel 格式都会返回错误。 但是,以下使用旧版 .h5
格式的近乎最小的示例确实完成且没有错误(此示例改编自 Keras 文档)。
import keras
model = keras.Sequential(
[
keras.layers.Dense(5, input_shape=(3,)),
keras.layers.Softmax(),
],
)
model.save('model.h5')
loaded_model = keras.saving.load_model('model.h5')
但它还显示两个警告,在多次运行模型时会变得烦人:
警告:absl:您正在通过
model.save()
或 keras.saving.save_model(model)
将模型保存为 HDF5 文件。此文件格式被视为旧格式。我们建议使用原生 Keras 格式,例如model.save('my_model.keras')
或 keras.saving.save_model(model, 'my_model.keras')
。
警告:absl:在保存文件中找不到训练配置,因此模型未编译。手动编译。
第一个对应于
.save
方法,第二个对应于 .load_model
方法。
如何抑制这些警告,使其不会在每次运行时出现?
作为参考,我尝试添加以下内容但没有成功。
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
import tensorflow as tf
tf.get_logger().setLevel('ERROR')
import warnings
warnings.filterwarnings("ignore")
import tensorflow as tf
tf.keras.config.disable_interactive_logging()
Quando você for salvar o modelo coloque o .keras ao invés do .h5.
没有 seu caso:
model.save('model.h5') load_model = keras. saving.load_model('model.h5') 修改段落:
model.save('model.keras') load_model = keras. saving.load_model('model.keras')