可以加载mobilenet v2,但是预训练的mobilenet v2失败

时间:2019-01-27 19:48:27

标签: tensorflow.js

我使用自己的图像重新训练了mobilenet v2 modell,并且可以使用python(https://www.tensorflow.org/hub/tutorials/image_retraining)中的输出来标记新图像。加载文件是可行的,但在预测过程中会失败并显示(Firefox和Chromium的concole.log):

The dict provided in model.execute(dict) has keys: [images] not part of   model graph.

我使用提供的retrain.py对模型进行重新训练

python retrain.py --image_dir flower_photos/ --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/classification/2 --random_brightness 10 --how_many_training_steps 100

flower_photos内有带有图像名称的文件夹,并在适当的图像内。

flower_photos

--- Huflattich

------- 1.jpg

------- 2.jpg

....

---布施温德罗森(pschwindröschen)

------- 1.jpg

------- 2.jpg

我可以使用

转换此模型
tensorflowjs_converter --input_format=tf_frozen_model --output_node_names='module_apply_default/MobilenetV2/Logits/output' /tmp/output_graph.pb   Mobilenetv2/web_model

但这在https://github.com/tensorflow/tfjs-examples/tree/master/mobilenet

提供的示例中不起作用

如果我使用

转换原始的mobilenet v2
tensorflowjs_converter --input_format=tf_hub 'https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/classification/2' mobilenetv2/web_model

我可以在提供的示例中加载

最后,该程序应检测网络摄像头显示的不同的早期花朵并进行分类。这应该是学生的PWA,并激励他们体验自然。

1 个答案:

答案 0 :(得分:2)

Tensorflow.js当前具有两种类型的模型,

  1. 允许训练的层模型,您可以使用tf.loadModel(...)
  2. 加载它们 从TensorFlow生成的模型转换而来的模型,不允许训练。这就是您拥有的,应该使用tf.loadFrozenModel(...)

这是加载冻结的模型并对图像执行预测的示例。 https://github.com/tensorflow/tfjs-converter/tree/master/demo/mobilenet

相关问题