首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从saved_model.pb文件中加载模型体系结构和模型权重?

如何从saved_model.pb文件中加载模型体系结构和模型权重?
EN

Stack Overflow用户
提问于 2022-08-29 09:29:32
回答 1查看 169关注 0票数 1

我有一个tf.saved_model.save保存的tensorflow模型。它生成一个保存saved_model.pb文件的目录。我可以用这样的输入推断

代码语言:javascript
复制
model_loaded=tf.saved_model.load(model_directory)

infer = model_loaded.signatures["serving_default"]

infer(inputs)

model_directory保存这些文件夹和文件-- assetssaved_model.pbvariables

我还可以使用以下方法列出model_loaded对象的属性

代码语言:javascript
复制
print(dir(model_loaded))

产出如下:

代码语言:javascript
复制
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_add_trackable_child', '_add_variable_with_custom_getter', '_checkpoint_dependencies', '_default_save_signature', '_deferred_dependencies', '_delete_tracking', '_deserialization_dependencies', '_deserialize_from_proto', '_export_to_saved_model_graph', '_gather_saveables_for_checkpoint', '_get_legacy_saved_model_children', '_handle_deferred_dependencies', '_list_extra_dependencies_for_serialization', '_list_functions_for_serialization', '_lookup_dependency', '_map_resources', '_maybe_initialize_trackable', '_name_based_attribute_restore', '_name_based_restores', '_no_dependency', '_object_identifier', '_preload_simple_restoration', '_restore_from_checkpoint_position', '_restore_from_tensors', '_self_name_based_restores', '_self_saveable_object_factories', '_self_setattr_tracking', '_self_unconditional_checkpoint_dependencies', '_self_unconditional_deferred_dependencies', '_self_unconditional_dependency_names', '_self_update_uid', '_serialize_to_proto', '_serialize_to_tensors', '_setattr_tracking', '_single_restoration_from_checkpoint_position', '_tf_api_names', '_tf_api_names_v1', '_track_trackable', '_trackable_children', '_unconditional_checkpoint_dependencies', '_unconditional_dependency_names', '_update_uid', 'call_and_return_all_conditional_losses', 'graph_debug_info', 'keras_api', 'layer-0', 'layer-1', 'layer-10', 'layer-11', 'layer-12', 'layer-13', 'layer-14', 'layer-15', 'layer-2', 'layer-3', 'layer-4', 'layer-5', 'layer-6', 'layer-7', 'layer-8', 'layer-9', 'layer_with_weights-0', 'layer_with_weights-1', 'layer_with_weights-2', 'layer_with_weights-3', 'layer_with_weights-4', 'layer_with_weights-5', 'optimizer', 'regularization_losses', 'signatures', 'tensorflow_git_version', 'tensorflow_version', 'trainable_variables', 'variables']

我是否可以加载模型体系结构对象和模型权重(可能是一个可以显示像这个model.summary()这样的模型体系结构的对象)。

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 17:02:32

您单独使用tensorflow保存了它,但是,如果有机会,您可以使用keras将它加载回。

来自TensorFlow 文档

Keras模型是可跟踪的,因此可以保存到SavedModel中。tf.saved_model.load返回的对象不是Keras对象(即没有.fit.predict等方法)。一些属性和函数仍然可用:.variables.trainable_variables和.__call__。 使用tf.keras.models.load_model恢复Keras模型。

此时,您应该得到所需的所有额外的keras函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73526749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档