簡體   English   中英

從不同版本的 tf.keras 加載保存的模型

[英]Loading the saved models from tf.keras in different versions

我在 google colab 中使用 TensorFlow 和 Keras 創建了一個圖像分類模型。 它分別保存在 GPU 版本 1.15 和 2.2.4 中。 現在我想用 CPU 和版本 1.10 和 2.2.2 將它們加載到我的遠程機器中我無法做到這一點並出現錯誤。這是我第一次使用 CNN 以及 tf 和 keras,所以我無法弄清楚確切原因是什么以及如何解決這個問題。 我在下面提到了代碼和錯誤:

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.models import load_model
from tensorflow.keras.models import model_from_json

json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)

錯誤:ValueError:('無法識別的關鍵字參數:',dict_keys(['ragged']))

Tensorflow 1.15 包含破壞性更改,例如不規則的張量支持,因此它不支持向后兼容性(Tf 1.10)。 這是問題。 請嘗試使用 Tensorflow 1.15 加載它,它應該可以工作。

You can load tf1.15+ model using tf1.15-2.1. Then save only weights to open in tf1.10
___________________________________________________________________
# In tensorflow 1.15-2.1
# Load model
model = load_model("my_model.h5")

# Save weights and architecture
model.save_weights("weights_only.h5")

# Save model config
json_config = model.to_json()
with open('model_config.json', 'w') as json_file:
json_file.write(json_config)
___________________________________________________________________
# In tensorflow 1.10
# Reload the model from the 2 files we saved
with open('model_config.json') as json_file:
json_config = json_file.read()
new_model = tf.keras.models.model_from_json(json_config)

# Load weights
new_model.load_weights('weights_only.h5')

您可以參考鏈接以更好地了解此鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM