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.