R-FCN配置(python版)

https://github.com/Orpine/py-R-FCN
首先,需要安裝Caffe和pycaffe,起碼機子搭過caffe環境
其次,可能需要Python安裝包:cython,python-opencv,easydict
先裝一個python包管理器pip:

sudo apt-get install python-pip
再裝那三個包:
sudo pip install cython
sudo pip install python-opencv
sudo pip install easydict

硬件準備
ResNet50:4個G顯存;ResNet101:6個G顯存

1、克隆工程:

git clone https://github.com/Orpine/py-R-FCN.git

2、克隆caffe

cd py-R-FCN
git clone https://github.com/Microsoft/caffe.git
cd caffe
git reset --hard 1a2be8e

3、編譯caffe

cp Makefile.config.example Makefile.config
# In your Makefile.config, make sure to have this line uncommented
WITH_PYTHON_LAYER := 1
# Unrelatedly, it's also recommended that you use CUDNN
USE_CUDNN := 1
make -j8 && make pycaffe

4、編譯lib
cd ../lib
make


5、下載數據(VOC,COCO),下載模型(ResNet,https://pan.baidu.com/s/1hrOZdju


6、修改./tools/train_net.py中的函數

def parse_args():
    """
    Parse input arguments
    """
    parser = argparse.ArgumentParser(description='Train a R-FCN network')
    parser.add_argument('--gpu', dest='gpu_id',
                        help='GPU device id to use [0]',
                        default=0, type=int)
    parser.add_argument('--solver', dest='solver',
                        help='solver prototxt',
                        default='models/pascal_voc/ResNet-50/rfcn_end2end/solver_ohem.prototxt', type=str)
    parser.add_argument('--iters', dest='max_iters',
                        help='number of iterations to train',
                        default=40000, type=int)
    parser.add_argument('--weights', dest='pretrained_model',
                        help='initialize with pretrained model weights',
                        default='data/imagenet_models/ResNet-50-model.caffemodel', type=str)
    parser.add_argument('--cfg', dest='cfg_file',
                        help='optional config file',
                        default='experiments/cfgs/rfcn_end2end_ohem.yml', type=str)
    parser.add_argument('--imdb', dest='imdb_name',
                        help='dataset to train on',
                        default='voc_2007_trainval', type=str)
    parser.add_argument('--rand', dest='randomize',
                        help='randomize (do not use a fixed seed)',
                        action='store_true')
    parser.add_argument('--set', dest='set_cfgs',
                        help='set config keys', default=None,
                        nargs=argparse.REMAINDER)

    # if len(sys.argv) == 1:
    #     parser.print_help()
    #     sys.exit(1)

    args = parser.parse_args()
    return args

我這裏偷了個懶.還是用的py-faster-rcnn中的VOC2007數據
7、訓練模型
python ./tools/train_net.py

7.1、官方腳本詳見./experiments/scripts下的幾個rfcn開頭的腳本,默認情況需要合併voc2012和voc2007
7.2、訓練自己的數據詳見http://www.cnblogs.com/CarryPotMan/p/5390336.html


8、測試demo
修改

./tools/demo_rfcn.py
替換成自己的模型,配置文件,數據就行了




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章