我使用autokeras和TensorFlow 2.5训练模型。
我使用Keras(TensorFlow(主页上解释的两种方法保存了预训练的模型。model.save(f'model_auto_keras{max_trials}.h5')
model.save("keras_test_save_model")
当我想使用加载保存的模型时model = tf.keras.models.load_model(f'model_auto_keras{max_trials}.h5')
和model1 = tf.keras.models.load_model("keras_test_save_model/")
在我的情况下,这两种方法都做得不好。
称ValueError:未知层:自定义>ValueError
ValueError: Unknown layer: Custom>MultiCategoryEncoding.
Please ensure this object is passed to the `custom_objects` argument. See
https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for
details.
主要问题是自定义层>gt;MultiCategoryEncoding,在keras中不可用。
运行时错误
@krishna你可以试试:
model = tf.keras.models.load_model('model.h5', custom_objects={'CategoryLayerName': tf.keras.layers.CategoryEncoding()})
在模型声明中,将层名称用于CategoryEncoding层。
我不确定它应该是tf.keras.layers.CategoryEncoding((还是tf.keras.category.Encoding