为什么写这篇呢,因为近期使用tensorflow的一些发现吧。好记性不如烂笔头!希望能为以后解惑。
目录
0.环境
ubuntu
python3.6
tensorflow/models
1.文件准备
参考tensorflow lite:prepare our data, train on it and convert the model from ckpt pb to tflite format,前4步中的准备。
2.train
训练ssd mobilenet v2的模型,训练可以使用以下命令:
python3 train.py --logtostderr --train_dir=./logs --pipeline_config_path=./ssd_mobilenet_v2.config
3.eval
测试可以使用以下命令:
python3 eval.py --logtostderr --eval_dir=logs/test_logs/ --pipeline_config_path=ssd_mobilenet_v2.config --checkpoint_dir=logs/
INFO:tensorflow:Starting evaluation at 2020-05-06-06:15:46
INFO:tensorflow:Starting evaluation at 2020-05-06-06:15:46
INFO:tensorflow:Restoring parameters from /logs/model.ckpt-2023
INFO:tensorflow:Restoring parameters from /logs/model.ckpt-2023
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-0.
INFO:tensorflow:Detection visualizations written to summary with tag image-0.
WARNING:root:image b'1587371130748.jpg' does not have groundtruth difficult flag specified
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-1.
INFO:tensorflow:Detection visualizations written to summary with tag image-1.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-2.
INFO:tensorflow:Detection visualizations written to summary with tag image-2.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-3.
INFO:tensorflow:Detection visualizations written to summary with tag image-3.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-4.
INFO:tensorflow:Detection visualizations written to summary with tag image-4.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-5.
INFO:tensorflow:Detection visualizations written to summary with tag image-5.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-6.
INFO:tensorflow:Detection visualizations written to summary with tag image-6.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-7.
INFO:tensorflow:Detection visualizations written to summary with tag image-7.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-8.
INFO:tensorflow:Detection visualizations written to summary with tag image-8.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-9.
INFO:tensorflow:Detection visualizations written to summary with tag image-9.
INFO:tensorflow:Running eval ops batch 100/124
INFO:tensorflow:Running eval ops batch 100/124
INFO:tensorflow:Running eval batches done.
INFO:tensorflow:Running eval batches done.
INFO:tensorflow:# success: 124
INFO:tensorflow:# success: 124
INFO:tensorflow:# skipped: 0
INFO:tensorflow:# skipped: 0
INFO:tensorflow:Writing metrics to tf summary.
INFO:tensorflow:Writing metrics to tf summary.
INFO:tensorflow:Losses/Loss/classification_loss: 6.880040
INFO:tensorflow:Losses/Loss/classification_loss: 6.880040
INFO:tensorflow:Losses/Loss/localization_loss: 1.355176
INFO:tensorflow:Losses/Loss/localization_loss: 1.355176
INFO:tensorflow:PascalBoxes_PerformanceByCategory/AP@0.5IOU/b'face': 0.887477
INFO:tensorflow:PascalBoxes_PerformanceByCategory/AP@0.5IOU/b'face': 0.887477
INFO:tensorflow:PascalBoxes_Precision/mAP@0.5IOU: 0.887477
INFO:tensorflow:PascalBoxes_Precision/mAP@0.5IOU: 0.887477
INFO:tensorflow:Metrics written to tf summary.
INFO:tensorflow:Metrics written to tf summary.
INFO:tensorflow:Starting evaluation at 2020-05-06-06:20:46
INFO:tensorflow:Starting evaluation at 2020-05-06-06:20:46
INFO:tensorflow:Found already evaluated checkpoint. Will try again in 300 seconds
INFO:tensorflow:Found already evaluated checkpoint. Will try again in 300 seconds
INFO:tensorflow:Starting evaluation at 2020-05-06-06:25:46
INFO:tensorflow:Starting evaluation at 2020-05-06-06:25:46
INFO:tensorflow:Restoring parameters from /logs/model.ckpt-2201
INFO:tensorflow:Restoring parameters from /logs/model.ckpt-2201
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-0.
INFO:tensorflow:Detection visualizations written to summary with tag image-0.
WARNING:root:image b'1587371130748.jpg' does not have groundtruth difficult flag specified
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-1.
INFO:tensorflow:Detection visualizations written to summary with tag image-1.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-2.
INFO:tensorflow:Detection visualizations written to summary with tag image-2.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-3.
INFO:tensorflow:Detection visualizations written to summary with tag image-3.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-4.
INFO:tensorflow:Detection visualizations written to summary with tag image-4.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-5.
INFO:tensorflow:Detection visualizations written to summary with tag image-5.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-6.
INFO:tensorflow:Detection visualizations written to summary with tag image-6.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-7.
INFO:tensorflow:Detection visualizations written to summary with tag image-7.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-8.
INFO:tensorflow:Detection visualizations written to summary with tag image-8.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Creating detection visualizations.
INFO:tensorflow:Detection visualizations written to summary with tag image-9.
INFO:tensorflow:Detection visualizations written to summary with tag image-9.
INFO:tensorflow:Running eval ops batch 100/124
INFO:tensorflow:Running eval ops batch 100/124
INFO:tensorflow:Running eval batches done.
INFO:tensorflow:Running eval batches done.
INFO:tensorflow:# success: 124
INFO:tensorflow:# success: 124
INFO:tensorflow:# skipped: 0
INFO:tensorflow:# skipped: 0
INFO:tensorflow:Writing metrics to tf summary.
INFO:tensorflow:Writing metrics to tf summary.
INFO:tensorflow:Losses/Loss/classification_loss: 5.544095
INFO:tensorflow:Losses/Loss/classification_loss: 5.544095
INFO:tensorflow:Losses/Loss/localization_loss: 1.116960
INFO:tensorflow:Losses/Loss/localization_loss: 1.116960
INFO:tensorflow:PascalBoxes_PerformanceByCategory/AP@0.5IOU/b'face': 0.902882
INFO:tensorflow:PascalBoxes_PerformanceByCategory/AP@0.5IOU/b'face': 0.902882
INFO:tensorflow:PascalBoxes_Precision/mAP@0.5IOU: 0.902882
INFO:tensorflow:PascalBoxes_Precision/mAP@0.5IOU: 0.902882
INFO:tensorflow:Metrics written to tf summary.
INFO:tensorflow:Metrics written to tf summary.
INFO:tensorflow:Starting evaluation at 2020-05-06-06:30:46
INFO:tensorflow:Starting evaluation at 2020-05-06-06:30:46
INFO:tensorflow:Found already evaluated checkpoint. Will try again in 300 seconds
INFO:tensorflow:Found already evaluated checkpoint. Will try again in 300 seconds
INFO:tensorflow:Finished evaluation!
INFO:tensorflow:Finished evaluation!
如果我们不想边训练边测试的话,我们可以使用如下命令(将我们想测试的单个epoch的3个ckpt复制与checkpoint复制到test_logs目录下,然后修改checkpoint当前ckpt为指定epoch):
python3 eval.py --logtostderr --eval_dir=logs/test_logs/ --pipeline_config_path=ssd_mobilenet_v2.config --checkpoint_dir=logs/test_logs/
在手动测试单个ckpt时,我们可以在tensorflow等待的300s过程( Will try again in 300 seconds)中添加新的ckpt过去,并对应修改checkpoint就可以了。
如果完成测试后,我们重新对新生成的ckpt继续测试,tensorboard可以连续地显示测试曲线。
4.tensorboard显示
cd进入logs目录的前一级目录下,运行下面的命令,我们就可以同时看到train与eval的曲线了。
tensorboard --logdir ./