写这篇的原因,是测试几个中间epoch后就会停止测试。还需要手动运行测试命令。
0.环境与背景
ubuntu16.04
tensorflow/models-1.12.0
python3.6
由于tensorflow目标检测运行eval时,会不断等待300s:
然后测试新的模型。如何没有生成新的模型多次或者是其他的什么机制(大概测试五个模型),使得测试停止,那就会输出完成测试:
那怎么才能训练的时候一直测试呢,写个shell-while,不用修改源代码,不香吗?
1.编写eval.sh
eval.sh
#!/bin/bash
while true
do
CUDA_VISIBLE_DEVICES=3 python3 ./eval.py --logtostderr --eval_dir=./eval_dir/ --pipeline_config_path=./*.config --checkpoint_dir=./model_save_path
sleep 10s
done
2.运行eval.sh
sh ./eval.sh
循环执行eval.py完成。
3.停止
“ctrl+C”就可以停止了。
4.扩展
训练过程中,可能会因为某些原因中断的情况下,我们也可以使用1.2.中的方法,只需要将do里面的命令换成训练的就可以了。
参考