简体   繁体   中英

Loading the saved models from tf.keras in different versions

I have created an image classification model using TensorFlow and Keras in google colab. It is saved there with GPU versions 1.15 and 2.2.4 for both respectively. Now I want to load them in my remote machine with CPU and versions 1.10 and 2.2.2 I am unable to do that and getting error.This is my first experience with CNN as well as tf and keras so I am not able to figure out what is the exact reason and how to solve this. I have mentioned the code and error below:

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)

Error : ValueError: ('Unrecognized keyword arguments:', dict_keys(['ragged']))

Tensorflow 1.15 contains breaking changes like ragged tensor support, so it does not support backwards compatibility(Tf 1.10). This is the issue. Please try to load it using Tensorflow 1.15 and it should work.

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')

You can refer the link for better understanding on this LINK

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM