zoukankan      html  css  js  c++  java
  • Ubuntu16.04 + caffe-ssd + [CPU_ONLY] + KITTI 训练总结

    本次训练主要参考:http://blog.csdn.net/jesse_mx/article/details/65634482

    感谢 Jesse_Mx ,帮助了我很多。

    坑一【openCV未安装成功】:

      openCV未安装成功会导致各种莫名的问题,比如:“No module named cv2”问题。

      然而,正确解决openCV安装问题也不是一路畅通。下面是经过多次失败个人总结的openCV安装方法:

      主要参考:

        在Ubuntu中安装并测试OpenCV http://blog.csdn.net/pengz0807/article/details/49915573

      使用的opencv版本是2.4.10

        其中,CMake 命令改为:

      cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DWITH_EIGEN=OFF ..

        

    sudo sh -c 'echo"/usr/local/lib">/etc/ld.so.conf.d/opencv.conf

        要改为

    sudo sh -c 'echo "/usr/local/lib">/etc/ld.so.conf.d/opencv.conf

      

        解决“No module named cv2”问题:

    sudo pip install opencv-python

       ps:安装2.x版本的不需要下载 ippicv_linux_20151201.tgz 这个东西,3.x版本的需要

    坑二【编译caffe】:

      caffe的编译需要很多依赖库,所以安装过程中出现各种各样的奇葩问题是很正常的。下面是caffe安装:

      主要参考网址:参考网址:http://blog.csdn.net/muzilinxi90/article/details/53673184

      注意:git clone https://github.com/BVLC/caffe.git  这个会很慢

      其中:

    for req in $(cat requirements.txt); do pip install $req; done 

      替换为:

    for req in $(cat requirements.txt); do sudo -H pip install $req --upgrade; done

      需要多执行几次,以确保完全安装成功,没有任何问题!

      【解决:ubuntu 没有/usr/include/hdf5/serial/】

      Step 1

    在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。

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

      Step 2

    在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。

    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
    
    LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

      

      【解决:没有get_image_size工具,提示找不到get_image_size】

       那是因为使用的是原版的caffe,需要切换至caffe-ssd分支

      方法一:

    git clone https://github.com/weiliu89/caffe.git
    cd caffe/
    git checkout ssd # 切换至分支ssd

      方法二:

    直接下载github的zip包:https://github.com/weiliu89/caffe/tree/ssd

    坑三【CPU_ONLY】:

      使用CPU_ONLY模式编译caffe会遇到更多的问题,所以强烈建议使用GPU模式

      如果出现训练终端,并报错类似以下错误:

    sgd_solver.cpp:106] Iteration 13100,lr = 0.001
    math_functions.cpp:250] Check failed: a <= b <0 vs -1.19209e-007>
    *** Check failure stack trace ***.

      那么可以找到对应的cpp文件,在对应的位置注释掉类似下面的代码。

    // CHECK_LE(a, b);

      然后重新编译pycaffe和make all,并重新开始训练。

      【解决:训练中断,提示内存不足】

       即使改过batch_size的值,在低配置的机器还是有可能出现以下错误:

    Check failed: *ptr host allocation of size 184320000 failed
    *** Check failure stack trace: ***
        @ 0xb72472b5  google::LogMessage::Fail()
        @ 0xb724957f  google::LogMessage::SendToLog()
        @ 0xb7246dee  google::LogMessage::Flush()
        @ 0xb724a06d  google::LogMessageFatal::~LogMessageFatal()
        @ 0xb76190b9  caffe::SyncedMemory::mutable_cpu_data()
        @ 0xb73e8260  caffe::Blob<>::mutable_cpu_data()
        @ 0xb7505c51  caffe::PoolingLayer<>::Forward_cpu()
        @ 0xb7413e15  caffe::Net<>::ForwardFromTo()
        @ 0xb7414062  caffe::Net<>::Forward()
        @ 0xb7637d51  caffe::Solver<>::Step()
        @ 0xb76388a9  caffe::Solver<>::Solve()
        @  0x8053221  train()
        @  0x804eff8  main
        @ 0xb69e2637  __libc_start_main
        @  0x804f8cb  (unknown)

       

      此时,就需要换配置了。。。。。。。没其他办法。。。。。。

  • 相关阅读:
    < java.util >-- Set接口
    Codeforces 627 A. XOR Equation (数学)
    Codeforces 161 B. Discounts (贪心)
    Codeforces 161 D. Distance in Tree (树dp)
    HDU 5534 Partial Tree (完全背包变形)
    HDU 5927 Auxiliary Set (dfs)
    Codeforces 27E. Number With The Given Amount Of Divisors (暴力)
    lght oj 1257
    Codeforces 219D. Choosing Capital for Treeland (树dp)
    Codeforces 479E. Riding in a Lift (dp + 前缀和优化)
  • 原文地址:https://www.cnblogs.com/mhiauge/p/7069102.html
Copyright © 2011-2022 走看看