TFLite部分
第一步:下载代码
打开命令行工具输入以下命令行,从google 的codelabs下载代码:1git clone https://github.com/googlecodelabs/tensorflow-for-poets-2
下载完后,会生成一个叫“tensorflow-for-poets”的文档夹。
文档夹内容的组成如下:scripts—–包含机器学习的python代码文档
tf_files—–包含输出文档,比如graph.pb和labels.txt
android—–包含安卓app项目,又分为tfmobile和TFLite
iOS—-包含ios App的项目,需要使用xCode
第二步:下载数据集
点击下载链接,下载约200MB的公开数据集,该数据集包含五种分类的花:Rose(玫瑰花)、Daisy(雏菊)、Dandelion(蒲公英)、Sunflower(向日葵)
解压缩到tf_files > flowes_photos目录
第三步:重新训练模型
在tensorflow-for-poets-2目录中打开命令行工具,输入:1python scripts/retrain.py --output_graph=tf_files/retrained_graph.pb --output_labels=tf_files/retrained_labels.txt --image_dir=tf_files/flower_photos --architecture=mobilenet_1.0_224 --summaries_dir tf_files/training_summaries/mobilenet_1.0_224
然后开始下载预训练的Mobilenet_1.0_224 的 frozen graph ;并且在tf_files目录中生成 retrained_graph.pb 和retrained_labels.txt 文档
第四步:打开Tensorboard(可跳过)
在Tensorboard中可以观察准确度和交叉熵损失函数的变化。1tensorboard --logdir=tf_files/training_summaries/mobilenet_1.0_244
第五步:确认模型的有效性
从互联网随机下载一张花的图片,放入工作目录中,查看模型识别结果1python scripts/label_image --graph=tf_files/retrained_graph.pb --image=new_rose.jpg
第六步:将模型转成TFLIte格式
系统要求:Ubuntu
Toco 使用来将pb文档文档转成.lite格式文档的转换器,更多细节可以使用 toco –help 查看说明。1
2
3IMAGE_SIZE=224
toco --graph_def_file=tf_files/retrained_graph.pb --output_file=tf_files/optimized_graph.lite --output_format=TFLITE --input_shape=1,${IMAGE_SIZE},${IMAGE_SIZE},3 --input_array=input
--output_array=final_result --inference_type=FLOAT --inference_input_type=FLOAT
上述命令会在tf_files目录中生成optimized_graph.lite 文档
tips: 1)--input_file 已经更新成 –graph_def_file 2)–input_format 对于mobile_net 的计算图没有必要性
移动端部分
Android
第一步:模型和标签的替换
将 tf_files 中生成的 optimized_graph.lite 和 retrained_labels.txt,复制到android >tflite项目的assets中,并替换原有的graph.lite 和 labels.txt 文档1
2
3cp tf_files/optimized_graph.lite android/tflite/app/src/main/assets/graph.lite
cp tf_files/retrained_labels.txt android/tflite/app/src/main/assets/labels.txt
第二步:生成app
打开Android Studio,并打开已有项目,选中android/tflite目录,点击BUILD–>Bulid APK, app-debug.apk文档就会产生,然后安装到安卓手机上。
IOS安装Xcode1xcode-select --install
安装Cocoapods1sudo gem install cocoapods
安装 TFlite Cocoapod1pod install --project-directory=ios/tflite/
替换模型和文档1
2cp tf_files/optimized_graph.lite ios/tflite/data/graph.lite
cp tf_files/retrained_labels.txt ios/tflite/data/labels.txt
打开模拟器,运行项目,查看结果。