欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 人工智能 > caffe >内容正文

caffe

caffe 编译错误记录 -ag凯发k8国际

发布时间:2024/9/21 caffe 15 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 caffe 编译错误记录 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

caffe 编译错误记录

装了opencv 3之后,以前可以编译成功的的caffe总是出现错误,现记录下来,作为备份:

    1、build_release/lib/libcaffe.so:对‘cv::imdecode(cv::_inputarray const&, int)’未定义的引用
    对于各种cv出错:
    解决方法:
    修改makefile:
    libraries = glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial matio opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
    下次编译之前要 make clean

    2、make: /usr/local/bin/mexext:命令未找到
    sudo ln -s /usr/local/matlab/r2016b/bin/mexext /usr/local/bin

警告: 您使用的 gcc 版本为 ‘5.4.0’。不支持该版本的 gcc。mex 当前支持的版本为 ‘4.9.x’。有关当前支持的编译器列表,请参阅: http://www.mathworks.com/support/compilers/current_release。
不管它。

    3、m//home/yali/anaconda2/lib/libpng16.so.16:对‘inflatevalidate@zlib_1.2.9’未定义的引用
    sudo ln -s /home/yali/anaconda2/lib/libpng16.so.16 libpng16.so.16 (方法不行)
    正确解决方法:
    在 makefile.config 中,加入下一句
    linkflags := -wl,-rpath,$(home)/anaconda/lib

    4、python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: no such file or directory
    解决方法:没装numpy的先安装
    sudo apt-get install python-numpy
    然后 sudo find / -name numpy,显示
    /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy
    /usr/share/numpy
    /usr/include/python2.7/numpy
    /usr/include/numpy
    /usr/lib/python2.7/dist-packages/cython/includes/numpy\
    然后对照 makefile.config
    将第二行加一个local
    python_include := /usr/include/python2.7 \
    /usr/local/lib/python2.7/dist-packages/numpy/core/includ

    5、importerror: no module named caffe
    解决方法1:
    首先新建一个py文件,命名为_init_paths.py 里面写入如下代码:

import os.path as osp
import sys

def add_path(path):
    if path not in sys.path:
        sys.path.insert(0, path)

this_dir = osp.dirname(__file__)

#add caffe to pythonpath
caffe_path = osp.join(this_dir, '..', 'caffe', 'python')  #注意路径:this_dir表示当前路径,‘..’返回上一层的caffe所在的路径,根据自己的caffe所在路径修改
add_path(caffe_path)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

每次使用caffe的时候在 import caffe 前面加上 import _init_paths 即可:

import _init_paths # _init_paths.py 和当前命令放在同一路径下
import caffe

    1
    2

解决方法2:

caffe_root = '/home/mmt/desktop/caffe/)'  
import sys
sys.path.append("/home/mmt/desktop/caffe/python")
sys.path.append("/home/mmt/desktop/caffe/python/caffe")
import caffe

    1
    2
    3
    4
    5

    6、编译fast -rcnn时的错误

./include/caffe/util/cudnn.hpp:124:41: error: too few arguments to function
‘cudnnstatus_t cudnnsetpooling2ddescriptor(cudnnpoolingdescriptor_t, cudnnpoolingmode_t, cudnnnanpropagation_t, int, int, int, int, int, int)’
解决方法:

1.将./include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.
2.将./src/caffe/layer里的,所有以cudnn开头的文件,例如cudnn_lrn_layer.cu,cudnn_pooling_layer.cpp,cudnn_sigmoid_layer.cu。
rbgirshick的py-faster-rcnn实现,因为其cudnn实现为旧版本的实现,所有出现了以上问题.
然后 make clean,再重新编译

    1
    2
    3
    4

src/caffe/layers/cudnn_softmax_layer.cpp:6:48:
fatal error: caffe/layers/cudnn_softmax_layer.hpp: no such file or directory

将新版本caffe中的 incliude里面的layer文件夹移过去  

    1

    7、importerror: libprotobuf.so.8: cannot open shared object file: no such file

解决方法:http://blog.csdn.net/yl33489/article/details/73605398
http://blog.csdn.net/hailong0715/article/details/52057873

说明你使用的protobuf要么是没有编译过,所以找不到对应的库文件,要么就是您编译之后的安装路径没有假如到配置中所以报错。
如果是第一种,请先下载protobuf-2.5.0,我已经上传到网盘http://pan.baidu.com/s/1pkagqp1
如果是第二种情况:
则需要创建新文件:/etc/ld.so.conf.d/libprotobuf.conf ,然后在其中加入内容:/usr/local/lib

    1
    2
    3
    4
    5
    6
    7

    8、typeerror: slice indices must be integers or none or have an _index_ method
    说是numpy版本的问题。

解决方法:
sudo pip install -u numpy==1.11.0
 python -c "import numpy; print numpy.__version__"

    1
    2
    3

    9、importerror: numpy.core.multiarray failed to import

重新 make fasterrcnn/lib

    1

10、systemerror: null result without error in pyobject_call

解决方法:  
sudo apt-get install python-yaml

    1
    2

    10、./include/caffe/util/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h: no such file or director

解决方法:
sudo pip install protobuf --upgrade -i http://pypi.douban.com/simple
sudo pip install pillow --upgrade -i http://pypi.douban.com/simple

    1
    2
    3

    11、/lib/rpn/proposal_layer.py:175: runtimewarning: invalid value encountered in
    训练到8060次发生错误

解决方法:

1)a possible solution could be to decrease the base learning rate in the solver.prototxt(只能延迟错误出现的时间)
as it is recommended here http://caffe.berkeleyvision.org/tutorial/solver.html
just change the base_lr: 0.001 to 0.0001
2)修改/py-faster-rcnn/lib/datasets/pascal_voc.py第204-207行,修改结果如下:(不顶用)

x1 = float(bbox.find('xmin').text)
y1 = float(bbox.find('ymin').text)
x2 = float(bbox.find('xmax').text)
y2 = float(bbox.find('ymax').text)

3)修改config中的rng_seed, 只能延缓出现错误的时间。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    12、error check failed: error == cudasuccess(77 vs 0) an illegal memory access was encountered
    这是我在进行test的时候遇到的,训练的时候没有出错

解决方法:

roipoolbackward<<>>(numpy.__version__"
中的16该一下行了,修改如下:
roipoolbackward<<>>

    1
    2
    3
    4
    5

    13、libcudart.so.8.0: cannot open shared object file: no such file or directory

首先打开bashrc文件:gedit ~/.bashrc

在文件末尾加入环境变量,如64-bit:export ld_library_path="$ld_library_path:/usr/local/cuda/lib64"

保存文件退出,在终端保存加载设置:soucre ~/.bashrc
或者
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig

    1
    2
    3
    4
    5
    6
    7
    8

    14、importerror: no module named cv2

sudo apt-get install python-opencv

    1
    2

    15、 matlab caffe 运行错误
    _zn2cv8imencodeerknst7__cxx1112basic_stringicst11char_traitsicesaiceeerkns_11_inputarrayerst6vectorihsaiheerksb_iisaiiee.
    -先把 /usr/lib/x86_64-linux-gnu 里面的链接删掉或者保存起来
    sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4.9 libopencv_core.so.2.4
    sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9 libopencv_highgui.so.2.4
    sudo ln -s /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4.9 libopencv_imgproc.so.2.4
    16、 matlab caffe 运行错误
    invalid mex-file ‘/home/yali/desktop/yali/faster_rcnn/external/caffe/matlab/ caffe/private/caffe_.mexa64’:
    /usr/local/matlab/r2016b/bin/glnxa64/../../sys/os/glnxa64/libstdc .so.6: version `glibcxx_3.4.21’ not found (required by
    /home/yali/desktop/yali/faster_rcnn/external/caffe/matlab/ caffe/private/caffe_.mexa64).

sudo ln -sf /usr/lib/x86_64-linux-gnu/libstdc .so.6.0.21 /usr/local/matlab/r2016b/sys/os/glnxa64/libstdc .so.6  
---------------------  
作者:ruotianxia  
来源:csdn  
原文:https://blog.csdn.net/ruotianxia/article/details/78437464  
ag凯发k8国际的版权声明:本文为博主原创文章,转载请附上博文链接!

总结

以上是ag凯发k8国际为你收集整理的caffe 编译错误记录的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图