美文网首页
ubuntu 16.04 docker caffe gpu yo

ubuntu 16.04 docker caffe gpu yo

作者: ccccxxxxcccc | 来源:发表于2019-03-19 11:36 被阅读0次

    主要参考

    https://github.com/yeahkun/caffe-yolo

    首先下载上述代码

    git clone https://github.com/yeahkun/caffe-yolo

    将其放在docker环境下,我这里的路径如下

    然后cd到caffe-yolo路径下

    将Makefile.config.example复制一份为Makefile.config

    cp Makefile.config.example Makefile.config

    然后vim打开Makefile.config文件

    将其中的如下两行进行更改

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

    改为:

    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/

    然后进行编译

    make clean

    make all

    make pycaffe


    然后下载VOC数据集

    cd 到caffe-yolo/data/yolo/路径下

    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

    进行数据集下载

    下载完成后进行解压

    tar xvf VOCtrainval_06-Nov-2007.tar

    tar xvf VOCtest_06-Nov-2007.tar

    tar xvf VOCdevkit_08-Jun-2007.tar

    解压之后这些会自动融合为一个叫VOCdevkit的文件夹

    此时的caffe-yolo/data/yolo/路径下有如下内容

    get_list.py是生成图片路径的python脚本,这里只用到VOC2007数据集,需要对get_lisy.py进行修改

    vim get_list.py打开

    将原来的for name in ["VOC2007","VOC2012"]:

    改为for name in ["VOC2007"]:

    最后面关于VOC2012的部分注释掉

    然后运行get_lisy.py

    python get_list.py

    会在caffe-yolo/data/yolo/路径下生成两个test_2007.txt和trainval.txt两个文件

    trainval.txt是训练和验证集

    test_2007是测试集


    caffe-yolo/data/yolo/路径下convert.sh是用来生成数据lmdb文件

    首先在caffe-yolo/data/yolo/路径下新建一个lmdb文件夹

    mkdir lmdb

    convert.sh同样需要进行修改

    vim convert.sh

    ROOT_DIR需要改为自己对应的路径,这里首先生成训练和验证集的数据lmdb文件

    在caffe-yolo/data/yolo/路径下运行

    sh convert.sh

    即可在lmdb文件夹下生成关于训练集和验证集的文件

    然后需要生成测试集数据的lmdb文件

    需要对convert.sh进行修改

    将原来生成训练集和验证集的部分注释掉,将生成测试集的部分取消注释

    保存退出之后运行即可

    sh convert.sh

    然后会在lmdb/test2007_lmdb/路径下生成data.mdb和lock.mdb文件


    下载预训练模型googlenet

    cd到caffe-yolo/examples/yolo/路径下

    wget http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel

    下载完之后cd到caffe-yolo/examples/yolo/路径下

    需要修改里面的一些文件

    首先是gnet_train.prototxt

    将第18行和第39行中的data_param里面的source路径改为自己对应的路径

    然后是gnet_solver.prototxt

    这里面主要是一些最大迭代次数、模型保存路径、选择GPU还是CPU模式这些选项,可以根据实际情况进行选择,也可以维持不变。

    需要注意的是,里面有一项是训练好的模型存放位置,如果维持不变的话,需要在caffe-yolo/examples/yolo/路径下新建文件夹models/gnet_yolo/以存放模型

    还有train.sh

    SOLVER的路径填为刚刚保存的gnet_solver.prototxt路径。我这里是 ./gnet_solver.prototxt

    WEIGHTS的路径是预训练模型的路径。我这里是 ./bvlc_googlenet.caffemodel

    修改完成之后可以进行训练 

    sh train.sh

    训练完成会在models文件夹下保存生成的.caffemodel模型


    下面进行测试

    如果需要的话,修改gnet_test.prototxt文件中batch size的大小

    修改test.sh

    将模型修改为对应的.caffemodel文件

    GPU_ID改为对应的ID

    然后运行测试

    sh test.sh

    即可完成测试

    相关文章

      网友评论

          本文标题:ubuntu 16.04 docker caffe gpu yo

          本文链接:https://www.haomeiwen.com/subject/tviwmqtx.html