tensorflow使用object detection API训练自己的数据(个人总结)使用Linux服务器训练
1.在服务器上配置python环境
1.在服务器上输入:(需要其他版本就改3.6.1为你需要的版本)
wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
2.解压:
tar -zxvf Python-3.6.1.tgz
3.编译:
make
4.安装:
make install
5.安装pip:
apt install python-pip
2.配置训练所需环境
1.安装所需要的包
pip3 install numpy==1.16.4 -i https://pypi.douban.com/simple
pip3 install tensorflow==1.14.0 -i https://pypi.douban.com/simple
pip3 install matplotlib==3.0 -i https://pypi.douban.com/simple
pip3 install pandas==0.21.0 -i https://pypi.douban.com/simple
2.将整个models文件夹放到服务器上
3.将object_detection文件夹复制到对应python文件夹下的lib/dist_packages(可以使用whereis python、whereis python3查看python安装路径)
3.训练中不中断的方法——screen
(参照了https://blog.csdn.net/hejunqing14/article/details/50338161)
1.安装screen
apt-get install screen
2.新建窗口
screen -S name 新建一个名为name的窗口
例如:screen -S train
3.进入窗口,CD到object_detection文件夹中的legacy下,运行:
python3 train.py --logtostderr --pipeline_config_path=/root/securityhatofficial/images/training/ssd_mobilenet_v1_coco.config --train_dir=/root/securityhatofficial/images/output
则开始训练
4.暂时脱离窗口(训练还在后台进行)
使用快捷键CTRL+a+d
5.恢复窗口
查看已有窗口并进入
screen -ls
There is a screen on:
2637.count (12/17/2015/10:00:32 AM) (Detached)
screen -r 2637
或者直接:
screen -r train
6.杀死窗口
kill -9 threadnum 例如在上面的2637,kill -9 2637 即可杀死线程
使用Ctrl a +k 杀死当前窗口和窗口中运行的程序
使用Ctrl a 然后输入quit命令退出Screen会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序
或者screen -S session_name -X quit
7.清除窗口
screen -wipe
4.训练结果
40000步完成训练
借鉴上一篇文章中导出PB文件于finished文件中,使用照片检测,检测结果:
(数据集中hat较多,咋的person较少还都是糊的?只认识花的不认识清楚的?)
5.总结
可以看到当数据集上升到一定数量的时候,识别率是在上升的,但是数据集中person的数据较少,导致对于person的识别仍有缺陷。
接下来进行调优~