I0819 21:12:14.440093 140209868093248 evaluation.py:167] Evaluation [12/128]
I0819 21:12:16.967612 140209868093248 evaluation.py:167] Evaluation [24/128]
I0819 21:12:19.479909 140209868093248 evaluation.py:167] Evaluation [36/128]
I0819 21:12:22.123263 140209868093248 evaluation.py:167] Evaluation [48/128]
I0819 21:12:24.798159 140209868093248 evaluation.py:167] Evaluation [60/128]
I0819 21:12:27.488651 140209868093248 evaluation.py:167] Evaluation [72/128]
I0819 21:12:30.172214 140209868093248 evaluation.py:167] Evaluation [84/128]
I0819 21:12:32.817117 140209868093248 evaluation.py:167] Evaluation [96/128]
I0819 21:12:35.469249 140209868093248 evaluation.py:167] Evaluation [108/128]
I0819 21:12:38.160501 140209868093248 evaluation.py:167] Evaluation [120/128]
I0819 21:12:39.931193 140209868093248 evaluation.py:167] Evaluation [128/128]
eval/Recall_5[0.957519531]
eval/Accuracy[0.845214844]
I0819 21:12:40.325986 140209868093248 evaluation.py:275] Finished evaluation at 2019-08-19-21:12:40
以上为验证集部分log输出,准确率达到0.84,top5召回达到0.95
I0819 21:12:05.423418 140209868093248 saver.py:1280] Restoring parameters from ./train/model.ckpt-6865
使用了step-6865处的checkpoint
模型训练过程描述
数据准备
使用tf官网下slim框架自带的download_and_convert_data.py脚本对数据集处理,生成训练集和验证集的.tfrecord文件.,以及保存标签的label.txt文件,此处使用自己下载好的quiz数据集,因此对脚本文件做修改
from datasets import convert_quiz
......
#convert_quiz.py的修改
elif FLAGS.dataset_name == 'quiz':
convert_quiz.run(FLAGS.dataset_dir)
#脚本运行命令
python3 download_and_convert_data.py --dataset_dir=./train -- dataset_name=quiz
使用官网自带的train_image_classifier.py脚本对训练集进行训练
python3 train_image_classifier.py --dataset_name=quiz --dataset_dir=./train --checkpoint_path=./inception_v3.ckpt
--model_name=inception_v3 --checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits --train_dir=./train
--learning_rate=0.001 --optimizer=rmsprop --batch_size=32
inception_v3.ckpt为tf官网提供的一个预训练checkpoint,为了匹配本训练集标签,除去原模型logits层和AuxLogits,学习率为0.001, 每个batch为32张图片。
同样使用官网自带的eval_image_classifier.py脚本文件对验证集验证
python3 eval_image_classifier.py --dataset_name=quiz --dataset_dir=./train --dataset_split_name=validation
--model_name=inception_v3 --checkpoint_path=./train --eval_dir=./eval --batch_size=32 --max_num_batches=128
–dataset_dir为校验集路径,–model_name=inception_v3使用inception_v3作校验,检查点在之前训练网络时训练集所在文件夹下自动生成,–eval_dir=./eval 输出校验日志,32张图为一个batch,对128个batch做校验。
以上即为基于slim框架的整个训练过程,训练完后导出模型
sh export_and_freeze.sh