本篇文章主要是記錄本人學習Faster R-CNN的有關內容,這次是記錄使用GPU運行模型訓練的步驟:
1、首先下載模型的源代碼(本人使用的是tensorflow版的代碼):
https://github.com/endernewton/tf-faster-rcnn
2、配置環境
訓練模型需要提前安裝好相關的依賴包:
Cython 0.28.2
easydict 1.9
matplotlib 2.2.2
numpy 1.15.4
opencv-python 3.4.4.19
pandas 0.23.0
Pillow 5.3.0
scipy 1.1.0
tensorflow-gpu 1.10.1
3、Build the Cython modules
cd ./lib
make clean
make
cd ..
4、安裝COCO API
cd data
git clone https://github.com/pdollar/coco.git
cd coco/PythonAPI
make
cd ../../..
5、下載訓練好的vgg16模型
mkdir -p data/imagenet_weights
cd data/imagenet_weights
wget -v http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz
tar -xzvf vgg_16_2016_08_28.tar.gz
mv vgg_16.ckpt vgg16.ckpt
cd ../.
這裏下載vgg16可能需要很長的時間,需要耐心的等待,或者使用本人上傳百度雲的文件:
鏈接:https://pan.baidu.com/s/1t_PNpEjaD3AfdEyknLl2uA
提取碼:96cj
6、數據集數據下載
本人這裏使用的是Pascal VOC數據集(https://github.com/rbgirshick/py-faster-rcnn#beyond-the-demo-installation-for-training-and-testing-models):
下載方式一:
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
由於這樣的下載方式較慢,可以使用本人的百度雲下載:
方式二:
鏈接:https://pan.baidu.com/s/1sL_88ZTlxlPl9dpQLZqrBg
提取碼:gwn2
然後將數據解壓到data文件夾下面。
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
這裏需要注意的是,解壓的文件夾名是VOCdevkit,但是代碼中使用的是VOCdevkit2007:
所以需要將解壓的文件名修改爲VOCdevkit2007。或者創建一個軟鏈接文件:
cd ./data
ln -s ./VOCdevkit VOCdevkit2007
7、啓動訓練
格式:
./experiments/scripts/train_faster_rcnn.sh [GPU_ID] [DATASET] [NET]
# GPU_ID is the GPU you want to test on
# NET in {vgg16, res50, res101, res152} is the network arch to use
# DATASET {pascal_voc, pascal_voc_0712, coco} is defined in train_faster_rcnn.sh
本人的啓動設置:
bash ./experiments/scripts/train_faster_rcnn.sh 1 pascal_voc vgg16
以下就是本人進行GPU運行的步驟記錄,基礎薄弱,入門不久,望指正。
參考:
https://github.com/endernewton/tf-faster-rcnn
https://blog.csdn.net/some_possible/article/details/79139994
https://blog.csdn.net/qq_26894673/article/details/84727082