tensorflow使用object detection API训练自己的数据(个人总结)使用Linux服务器训练

核能气质少年 提交于 2020-01-30 11:11:32

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会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序
 

7.清除窗口

 screen -wipe

4.训练结果

40000步完成训练

借鉴上一篇文章中导出PB文件于finished文件中,使用照片检测,检测结果:

(数据集中hat较多,咋的person较少还都是糊的?只认识花的不认识清楚的?)

5.总结

可以看到当数据集上升到一定数量的时候,识别率是在上升的,但是数据集中person的数据较少,导致对于person的识别仍有缺陷。

接下来进行调优~

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!