zoukankan      html  css  js  c++  java
  • caffe + ssd网络训练过程

    參考博客:https://blog.csdn.net/xiao_lxl/article/details/79106837

    1获取源代码:git clone https://github.com/weiliu89/caffe.git
    2 进入目录中 :cd caffe

    3,git checkout ssd

    主要参考 https://github.com/weiliu89/caffe/tree/ssd

        获取SSD的代码,下载完成后有一个caffe文件夹

    git clone https://github.com/weiliu89/caffe.git
    cd caffe
    git checkout ssd

        1
        2
        3

        进入下载好的caffe目录,复制配置文件

    cd caffe
    cp Makefile.config.example Makefile.config

        1
        2

    编译caffe

    make all  -j8  //-j16根据本机的处理器配置,16是16核处理器的意思
    make pycaffe -j8
    make test -j8
    make runtest -j8(这一步不是必须的)

        1
        2
        3
        4

    下载预训练模型 链接:链接:https://pan.baidu.com/s/1o9c0GGU 密码:fucx,将它放入caffe/models/VGGNet/目录下

    下载VOC2007和VOC2012数据集,放到/caffe/data下,并解压

    cd data
    wget  http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
    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
    tar -xvf VOCtrainval_11-May-2012.tar
    tar -xvf VOCtrainval_06-Nov-2007.tar
    tar -xvf VOCtest_06-Nov-2007.tar

        1
        2
        3
        4
        5
        6
        7

    将图片转化为LMDB文件,用于训练,在caffe目录下

    cd ..
    cd caffe
    ./data/VOC0712/create_list.sh  
    ./data/VOC0712/create_data.sh

        1
        2
        3
        4

    训练模型
    在下载的caffe根目录执行如下命令训练,在examples/ssd下存在几个.py文件,训练的时间较长。

    python examples/ssd/ssd_pascal.py

        1

    实验效果
    (1)在图片测试集上测试

    python examples/ssd/score_ssd_pascal.py

        1

    2)在视频上测试

       python examples/ssd/ssd_pascal_video.py

        1

    3)在摄像头上测试

       python examples/ssd/ssd_pascal_webcam.py

        1

    报错问题解决以及填坑笔记:

    1. 报错:no module named caffe等错误

    这是由于caffe的Python环境变量未配置好,可按照下面方法解决:

    确保先重新make下pycaffe,然后 将python的路径配置到环境变量中
    make pycaffe -j8

    gedit /etc/profile

    gedit ~/.bashrc
    vim ~/.bashrc
    加入 export PYTHONPATH=/SSD所在目录/caffe/python
    source ~/.bashrc

    2. 配置SSD-caffe测试时出现“Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal”解决

    运行 python examples/ssd/ssd_pascal.py 时报错

    解决方案:这是由于GPU数量不匹配造成的,如果训练自己的数据,那么我们只需要将solver.prototxt文件中的device_id项改为自己的GPU块数,一块就是0,两块就是1,以此类推。

    但是SSD配置时的例子是将训练语句整合成一个python文件ssd_pascal.py,所以需要改此代码。相关配置训练方法请参看转载博文:http://blog.csdn.net/xunan003/article/details/78427446

    解决方法:将ssd_pascal.py文件中第332行gpus = “0,1,2,3”的GPU选择改为gpus = “0”,后面的1,2,3都删掉即可。再次训练即可。

    当然,由于博主只有一块GPU且电脑运行内存有限,还需要将ssd_pascal.py文件中的337行batch_size = 32和338行accum_batch_size = 32都改小一倍,即更改批量大小,不然会出现“Check failed: error == cudaSuccess (2 vs. 0) invalid …”的错误。

    3. 配置SSD-caffe出现“ AttributeError: ‘module’ object has no attribute ‘LabelMap’”解决

    这是由于caffe的Python环境变量未配置好,可按照下面方法解决:
    gedit ~/.bashrc
    加入 export PYTHONPATH=/SSD所在目录/caffe/python
    source ~/.bashrc

  • 相关阅读:
    【来自知乎】AR技术可以通过H5实现吗?不通过APP
    太虚AR
    【ArUco】- Augmented reality library based on OpenCV
    unity MVC简易框架! MVC in Code Control
    游戏服务器框架与互联网产品的认识
    关于 boost::asio::io_service::run() 出现【句柄无效】的问题
    编译luabind-0.9.1 出现 error C2665: 'boost::operator ==' : none of the 4 overloads could convert all the argument types 的解决方案
    javascript 控制 table tr display block 显示模式时,只对第一个单元格有效
    Ogre::UINT 与 其他库的 类型冲突问题
    排序仿函数 出现 std::priority_queue::push() 的 invalid operator < 异常
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/10149478.html
Copyright © 2011-2022 走看看