准备自定义张量流移动模型时冻结图形错误

时间:2018-04-26 23:14:16

标签: tensorflow

我正准备使用https://www.tensorflow.org/mobile/prepare_models

中的说明在Android手机上运行自定义模型

首先,我使用以下命令在自定义图像上重新训练模型:

$ python tensorflow/examples/image_retraining/retrain.py --image_dir tensorflow/examples/image_retraining/my_images/ --learning_rate=0.0005 --testing_percentage=15 --validation_percentage=15 --train_batch_size=32 --validation_batch_size=-1  --flip_left_right True --random_scale=30 --random_brightness=30 --eval_step_interval=100 --how_many_training_steps=100 --tfhub_module https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/1

并且作为下一步,我使用label_image.py测试了模型,这也可以很好地预测输入图像。但是,freeze_graph会出错

$ bazel-bin/tensorflow/python/tools/freeze_graph --input_graph=/tmp/output_graph.pb --output_graph=/tmp/frozen_graph.pb

但是,我一直收到这个错误。

  

UnicodeDecodeError:'utf-8'编解码器无法解码位置的字节0xff   57:无效的起始字节

2 个答案:

答案 0 :(得分:1)

我注意到你的--input_graph=/tmp/output_graph.pb。您的图表是作为二进制文件(as_text=False)而不是pbtxt编写的吗?如果是这样,您需要将--input_binary=true标记传递给freeze_graph

答案 1 :(得分:0)

如果使用以下方式将图形写为二进制文件

tf.train.write_graph(sess.graph_def, 'tarinGraph', 'train2.pbtxt', as_text=False)

然后您将需要传递--input_binary=true flag to freeze_graph