跟随步骤
Step1-克隆git存储库:
git clone https://github.com/googlecodelabs/tensorflow-for-poets-2
cd tensorflow-for-poets-2
步骤2 - 下载培训图像或收集自定义图像:
curl http://download.tensorflow.org/example_images/flower_photos.tgz \
| tar xz -C tf_files
Step3-设置图像大小和架构:
IMAGE_SIZE=224
ARCHITECTURE="mobilenet_0.50_${IMAGE_SIZE}"
Step4-重新训练模型
python -m scripts.retrain \
--bottleneck_dir=tf_files/bottlenecks \
--model_dir=tf_files/models/"${ARCHITECTURE}" \
--summaries_dir=tf_files/training_summaries/"${ARCHITECTURE}" \
--output_graph=tf_files/retrained_graph.pb \
--output_labels=tf_files/retrained_labels.txt \
--architecture="${ARCHITECTURE}" \
--image_dir=tf_files/flower_photos
步骤5-使用再训练模型检查分类图像
python -m scripts.label_image \
--graph=tf_files/retrained_graph.pb\ --
image=tf_files/flower_photos/daisy/3475870145_685a19116d.jpg
评估时间(1-图像):0.281s
daisy 0.725841蒲公英0.200525郁金香0.0411526玫瑰0.0318613向日葵0.000619742
步骤6:优化模型
IMAGE_SIZE=224
toco \
--input_file=tf_files/retrained_graph.pb \
--output_file=tf_files/optimized_graph.pb \
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TENSORFLOW_GRAPHDEF \
--input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 \
--input_array=input \
--output_array=final_result
Step7-验证分类图像的优化模型
python -m scripts.label_image \
--graph=tf_files/optimized_graph.pb \
--image=tf_files/flower_photos/daisy/3475870145_685a19116d.jpg
评估时间(1-图像):0.126s
daisy 0.725845蒲公英0.200523郁金香0.0411517玫瑰0.031861向日葵0.00061973
Step8-将模型转换为TFlite格式
IMAGE_SIZE=224
toco \
--input_file=tf_files/retrained_graph.pb \
--output_file=tf_files/optimized_graph.lite \
--input_format=TENSORFLOW_GRAPHDEF \
--output_format=TFLITE \
--input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 \
--input_array=input \
--output_array=final_result \
--inference_type=FLOAT \
--input_type=FLOAT
仍然得到第0个输入的问题应该有602112个字节,但是找到了150528个字节
请提供更好的解决方案来克服/解决此问题
答案 0 :(得分:0)
一整天都在尝试使用1.9及更高版本(可能还有1.8,尚未测试。)进行此操作,您需要删除--input_format
字段,并将--input_file
参数更改为{ {1}}
所以您最终得到的命令看起来像:
--graph_def_file
然后,我能够完成诗人的示例,并使我的tflite文件在android上运行。
来源: https://github.com/googlecodelabs/tensorflow-for-poets-2/issues/68
答案 1 :(得分:0)
我假设您正在尝试在Tensorflow for Poets随附的android-app中使用您的模型。如果是这种情况,并且您在Android Studio中遇到此错误,则应该查看ImageClassifier.java文件。
我的猜测是,您的静态最终int DIM_IMG_SIZE_X和静态最终int DIM_IMG_SIZE_Y与您的IMG_SIZE值不同。如果将这两个值设置为224,则应该可以解决问题。
希望这会有所帮助!