Cornernet训练自己的数据
1、安装conda3
下载本地安装包后离线安装 sh Anaconda3-5.0.1-Linux-x86_64.sh
2、编译器版本要求GCC4.9
安装方式:
apt install software-properties-common
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt-get install gcc-4.9
apt-get install g+±4.9
cd /usr/bin
rm gcc g++
ln -s gcc-4.9 gcc
ln -s g+±4.9 g++
gcc --version
安装过程中如出现报错,apt-get update即可
3、下载代码:
链接:https://github.com/princeton-vl/CornerNet
cmd:git clone https://github.com/princeton-vl/CornerNet.git
4、创建虚拟环境
下载完代码后,进入CornerNet目录:cd CornerNet
使用命令conda create --name CornerNet --file conda_packagelist.txt创建虚拟环境
此过程中,可能由于网络的原因,导致一些依赖的安装失败,在不同的时间段多试几次。
或者有另外一种方法:
先创建一个空的虚拟环境conda create --name CornerNet
然后激活并进入虚拟环境source activate CornerNet
然后将packagelist.txt中的依赖一一安装
5、激活虚拟环境 source activate CornerNet
如果激活成功,命令行的前端会出现虚拟环境的名称,例如:
(CornerNet) root@docker20:/data2/XXX/CornerNet-fake#
如果激活失败,需要检查是否创建成功,可以通过
6、编译pool文件,此处的pool层是作者用CUDA的C++编程写的,需要编译成python可以调用的库。
cd CornetNet/models/py_utils/_cpools/
python setup.py install —user
7、编译其他
cd CornetNet/external
make
该过程会报错,没有Cython,使用conda install Cython安装即可
8、下载MSCOCO数据读取以及评估的API
cd CornetNet/data
git clone https://github.com/cocodataset/cocoapi.git coco
cd CornetNet/data/coco/PythonAPI
make
9、下载MSCOCO数据集
annotations.json放置在CornetNet/data/coco
CornerNet/data/coco/images/下的trainval2014, minival2014 和 testdev2017分别放置2014 Train, 2014 Val, 2017 Test图片
数据集也可以通过修改CornerNet/db/coco.py中的读取路径
例如:
self._label_file = “/data3/MSCOCO/annotations/instances_minival2014.json”
self._image_dir = “/data3/MSCOCO/val2014”
self._image_file = os.path.join(self._image_dir, “{}”)
10、下载作者训练好的model文件,大约768M,建议翻墙下载
https://drive.google.com/open?id=16bbMAyykdZr2_7afiMZrvvn4xkYa-LYk
将模型文件放在CornerNet/cache/nnet/CornerNet下,如果没有该目录,手动创建即可
11、测试:
python test.py CornerNet --testiter 500000 --split testing
12、训练:
如果想训练自己的数据集,制作MSCOCO格式的数据集,并修改CornerNet/db/coco.py中的数据路径
使用python train.py CornerNet进行训练
13、训练自己的数据的时候,需要修改类别的数量,主要是以下三处:
out_dim in CornerNet.py,
categories in CornerNet.json
self._configs[“categories”] in detection.py.