项目github
我做的参考项目
我完成了一个简单了android上的图片分类相册,tf部分已经正常工作了,你可以参考,项目github
效果展示
添加了app预览如下,更详细请到github 分类预览1: 拍照分类: 程序启动: 自动分类为相册:
这里有几篇博客你可以参考
博客零,忽略docker部分,用bazel训练一个pc可用的图片分类模型
博客一,将上面的模型处理为移动端可用的
博客二,可参考
博客三,使用的是python脚本训练模型,可能需要翻墙
如果没有训练图片?
可以使用py爬虫到百度图片爬以获取所需类别的训练用图片,python3下的爬虫脚本请到我的github
spider.py从百度图片爬相应类别的图片,到config.py中编写你需要的类别。注意爬之前先到百度图片上按照类名搜一下,对同一类的图片不同的名字爬取的效果不同deal_pics.py处理下载后的图片,因为tf处理过程中如果图片格式错误或者无法打开会终止处理,所以需要先把不合法的图删除。自己看一下改一下或者自己写一下。
注:脚本核心算法非原创
使用自己的模型出现了问题?
什么jpegdecoder问题,这个我遇到了,原因是tf为了保证移动端的体积,一部分功能没有加进去(猜的),所以pc上的模型需要进一步处理才可以用。我建议将tf升级到0.12以上。对了处理自己的模型只需要两条指令,具体看下面的代码部分。其他问题?我没遇到过,我经过第1步后就可以用了,我建议你到git上提出一个issue,那里的大牛很热心,我遇到这个问题就是到那里提问然后他们回答的。
一般需要的命令
########################
# build 图片分类工具,在tensorflow根目录下
bazel build -c opt --copt=-mavx tensorflow/examples/image_retraining:retrain
# 运行图片处理
bazel-bin/tensorflow/examples/image_retraining/retrain \
-
-bottleneck_dir=/tf_files/bottlenecks \
-
-model_dir=/tf_files/inception \
-
-output_graph=/tf_files/retrained_graph.pb \
-
-output_labels=/tf_files/retrained_labels.txt \
-
-image_dir /tf_files/flower_photos
########################
# pc上使用分类模型
# build工具
bazel build tensorflow/examples/label_image:label_image
#分类
bazel-bin/tensorflow/examples/label_image/label_image \
-
-graph=/tf_files/retrained_graph.pb \
-
-labels=/tf_files/retrained_labels.txt \
-
-output_layer=final_result \
-
-image=/tf_files/flower_photos/daisy/21652746_cc379e0eea_m.jpg
#########################
# 移动端迁移,为了保证tf在移动端较小,因此部分pc上可用的功能并不在移动端的动态链接库上,一次模型不能直接使用,需要预处理
# 移动端需要的动态链接库可以到tf的github上直接下载,现在已经有了
# 预处理工具
bazel build tensorflow/python/tools:optimize_for_inference
# 处理
bazel-bin/tensorflow/python/tools/optimize_for_inference \
-
-input=/tf_files/retrained_graph.pb \
-
-output=/tf_files/optimized_graph.pb \
-
-input_names=Mul \
-
-output_names=final_result
# ios请参考0和1两篇博客,以上命令都可以在上面找到
# ios上博客https://petewarden.com/2016/09/27/tensorflow-for-mobile-poets/
转载请注明原文地址: https://ju.6miu.com/read-7896.html