高版本Keras保存模型无法在低版本TensorFlow加载的OSError求助
Keras 3.4.1保存的.keras模型无法在TensorFlow 2.6.0/Keras 2.6.0中加载
环境信息
- Kaggle训练环境:TensorFlow 2.15.0,Keras 3.4.1,使用GPU训练,代码及数据集来自《Deep Learning With Python第二版》
- 本地运行环境:conda环境,TensorFlow-GPU 2.6.0,Keras 2.6.0,基于Jupyter Notebook
训练时保存模型的代码
model.compile(optimizer="rmsprop", loss="sparse_categorical_crossentropy") callbacks = [ keras.callbacks.ModelCheckpoint("/kaggle/working/checkpoint.model.keras", save_best_only=True) ] history = model.fit(train_input_imgs, train_targets, epochs=50, callbacks=callbacks, batch_size=64, validation_data=(val_input_imgs, val_targets))
本地加载模型的代码
from tensorflow.keras.utils import array_to_img model = keras.models.load_model("F:\deeplearning\model_segmentation\model\checkpoint.model.keras") i = 4 test_image = val_input_imgs[i] plt.axis("off") plt.imshow(array_to_img(test_image)) mask = model.predict(np.expand_dims(test_image, 0))[0] def display_mask(pred): mask = np.argmax(pred, axis=-1) mask *= 127 plt.axis("off") plt.imshow(mask) display_mask(mask)
报错信息
OSError: SavedModel file does not exist at: F:\deeplearning\model_segmentation\model\checkpoint.model.keras{saved_model.pbtxt|saved_model.pb}
已尝试的解决方法
- 曾尝试降级Kaggle的TensorFlow版本,但降级后无法使用GPU,不符合训练需求。
内容的提问来源于stack exchange,提问作者文中宇
相关产品推荐
相关产品推荐

