迁移学习图像分类的android应用

参考链接:https://hackernoon.com/creating-insanely-fast-image-classifiers-with-mobilenet-in-tensorflow-f030ce0a2991

  1. 利用迁移学习获得模型:
    • git源码https://github.com/tensorflow/tensorflow
    • 利用image_retraining下的retrain.py文件进行训练(用的是mobilenet模型):python xx/xx/retrain.py --image_dir /img/flower --learning_rate=0.0001 --testing_percentage=20 --validation_percentage=20  --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=600 --architecture mobilenet_1.0_224
    • 模型训练完成:训练完成后会在/tmp文件夹下生成output_graph.pb和output_labels.txt文件。
    • 模型测试:从源码中找到label_image.py文件进行测试。python xx/xx/label_image.py --graph=output_graph.pb --labels=output_labels.txt --image=xx.jpg --input_layer=Placeholder --output_layer=final_result --input_mean=128 --input_std=128 --input_width=299 --input_height=299
  2. 用tensorflow提供的android demo写android应用。具体build the demo using android studio参考链接https://www.tensorflow.org/lite/tfmobile/android_build。需要修改几个参数:
    • 打开build.gradle文件,修改def nativeBuildSystem='none';
    • 把output_graph.pb和output_labels.txt文件拷贝到assets文件夹下。
    • 打开ClassifierActivity.java文件,修改INPUT_SIZE=229,IMAGE_MEAN=128,IMAGE_STD=128,INPUT_NAME="Placeholder",OUTPUT_NAME="final_result",MODEL_FILE="file:///android_asset/output_graph.pb",LABEL_FILE="file:///android_asset/output_labels.txt"
  3. 打包成apk文件(未完成)

发表评论

邮箱地址不会被公开。 必填项已用*标注