将retrain.py的输出转换为tensorflow.js

时间:2019-04-24 12:00:55

标签: python tensorflow tensorflow.js tensorflow-hub tensorflowjs-converter

How to Retrain an Image Classifier for New Categories中描述的脚本retrain.py运行为

python retrain.py --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/2 --image_dir /tmp/test

并生成输出文件/tmp/output_graph.pbConverting this

tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model /tmp/output_graph.pb /tmp/model

失败

  

IOError:以下位置不存在SavedModel文件:/tmp/output_graph.pb/ {saved_model.pbtxt | saved_model.pb}

如果文件output_graph.pb重命名为saved_model.pbby @edkeveked),则错误更改为

  

RuntimeError:在SavedModel中找不到与标签“ serve”关联的MetaGraphDef。要检查SavedModel中可用的标签集,请使用SavedModel CLI:saved_model_cli

saved_model_cli show --dir .报告了一个空标记集。

如何解决?

2 个答案:

答案 0 :(得分:2)

输入路径是文件夹的路径,而不是文件的路径。请考虑以下内容:

tensorflowjs_converter --input_format=tf_saved_model --output_format=tfjs_graph_model /tmp /tmp/model

答案 1 :(得分:1)

正如Retrain image detection with MobileNet中@Ping Yu所暗示的,您可以使用

python retrain.py --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/2 \
    --image_dir /tmp/flower_photos --saved_model_dir /tmp/saved_retrained_model
tensorflowjs_converter --input_format=tf_saved_model \
    --output_format=tfjs_graph_model \
    --saved_model_tags=serve \
    /tmp/saved_retrained_model/ /tmp/converted_model/

这将使用保存的模型格式保存模型。