首页 > 解决方案 > Tensorflow:NotImplementedError:目前只能导入使用 `tf.saved_model.save` 导出的 SavedModels

问题描述

我有一个张量流图,我使用以下代码保存为“saved_model.pb”:

builder = tf.saved_model.builder.SavedModelBuilder('saved_location') 
with tf.Session(graph=tf.Graph()) as sess, open('logfile', 'wb') as log_file:
...
...
builder.add_meta_graph_and_variables(sess, [tf.saved_model.tag_constants.SERVING])

我定期调用 builder.save() 。并查看正在更新的 saved_model.pb 文件。

现在,当我尝试将其导入 javascript 时,请参考

>  tensorflowjs_converter --input_format=tf_saved_model 
 --output_format=tfjs_graph_model saved_location/  target

我收到以下错误:

文件“/anaconda3/lib/python3.5/site-packages/tensorflowjs/converters/tf_saved_model_conversion_v2.py”,第 269 行,在 convert_tf_saved_model model = load(saved_model_dir) 文件“/anaconda3/lib/python3.5/site-packages/ tensorflow/python/saved_model/load.py",> 第 108 行,加载中

“目前只有导出的 SavedModelstf.saved_model.save可能是” NotImplementedError: 目前只有导出的 SavedModels tf.saved_model.save可能会被导入。其他 SavedModel 最终可能会通过 load() 得到支持。

  1. 我哪里错了?

  2. 如何将 tensorflow 图模型转换为可以加载到浏览器中以使用 javascript 进行推理的格式?

注意:我可以将 keras 图层模型导入 js 并通过 loadLayersModel api 使用它,但我正在寻找一种不需要将整个代码库转换为 keras 的解决方案。

标签: tensorflowtensorflow-servingtensorflow.jstensorflowjs-converter

解决方案


推荐阅读