Haz*_*med 6 python-3.x keras tensorflow eager-execution tensorflow2.0
我在玩 TensorFlow,我正在尝试将 Keras 模型导出为 TensorFlow 模型。我遇到了上述错误。我正在关注 Lynda 的“使用 Keras 2.0 构建深度学习应用程序”(https://www.linkedin.com/learning/building-deep-learning-applications-with-keras-2-0/exporting-google-cloud-兼容模型?u=42751868)
在尝试构建张量流模型时,我遇到了这个错误,在第 66 行抛出,其中定义了添加元图和变量函数。
第 66 行,在 build_tensor_info 中引发 RuntimeError("build_tensor_info is not supported in Eager mode.") RuntimeError: build_tensor_info is not supported in Eager mode。
...model_builder.add_meta_graph_and_variables(
K.get_session(),
tags=[tf.compat.v1.saved_model.tag_constants.SERVING],
signature_def_map={
tf.compat.v1.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: signature_def
}
)
...
Run Code Online (Sandbox Code Playgroud)
大家有什么想法吗?
是因为您使用的是 tensorflow v2。您必须使用 tensorflow v2 兼容性并禁用 Eager 模式。
请注意您使用的 tensorflow 导入,例如,如果您使用 tensorflow_core,请确保您使用的是“tensorflow”中的所有依赖项。您必须在代码之前添加:
import tensorflow as tf
if tf.executing_eagerly():
tf.compat.v1.disable_eager_execution()
Run Code Online (Sandbox Code Playgroud)
在编译来自 LinkedIn Learning 的代码以导出使用 TensorFlow 1.x API 编写的 Keras 模型时,遇到了完全相同的问题。将所有内容替换为等效的 tf.compat.v1 函数后,例如更改
model_builder = tf.saved_model.builder.SavedModelBuilder("exported_model")
Run Code Online (Sandbox Code Playgroud)
到
model_builder = tf.compat.v1.saved_model.Builder("exported_model")
Run Code Online (Sandbox Code Playgroud)
并按照 Cristian Zumelzu 上面的建议禁用急切执行,代码能够正常运行,并出现有关已弃用函数的预期警告。
| 归档时间: |
|
| 查看次数: |
1714 次 |
| 最近记录: |