caffe problem

来源:互联网 发布:g76车锥螺纹编程实例 编辑:程序博客网 时间:2024/06/09 16:38

http://blog.csdn.net/leijiezhang/article/details/53688157

Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置

http://blog.csdn.net/ccemmawatson/article/details/42004105

Ubuntu14.04 Caffe安装

http://blog.csdn.net/fansetcool/article/details/51569374

Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04  配置参考文献

http://jiepai99.com/houchaoqun_xmu/article/details/72822199

【CPU + GPU版】Ubuntu16.04 + caffe + Anaconda2 + OpenCV3.x(附:问题集锦+测试案例)


http://blog.csdn.net/autocyz/article/details/51783857

ubuntu16.04安装caffe以及各种问题汇总




Makefile:581: recipe for target '.build_release/src/caffe/layer_factory.o' failed

这个问题疑似跟Ubuntu16.04的版本有关系,google到一个方法:在caffe的Makefile里面第409行(我的)

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

更改为

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)


zhuan:

http://www.th7.cn/system/lin/201702/202453.shtml

ubuntu 16.04配置Python(anaconda2)+opencv后的错误提示解决方法

author@jason_ql
http://blog.csdn.net/lql0716/article/details/54909440

  • 安装Python或anaconda2之后,提示以下错误:

ImportError: /home/jason/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required by /home/jason/anaconda2/lib/python2.7/site-packages/cv2.so)


  • 解决方法:

打开终端输入命令:pip install opencv-python





Caffe
错误:采用make方式编译时遇到如下错误
In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
from /usr/include/boost/python/args.hpp:8,
from /usr/include/boost/python.hpp:11,
from tools/caffe.cpp:2:
/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
compilation terminated.
Makefile:575: recipe for target '.build_release/tools/caffe.o' failed
make: *** [.build_release/tools/caffe.o] Error 1
解决方案:修改Makefile.config,将
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
#                 $(ANACONDA_HOME)/include/python2.7 \
#                 $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
取消以下2行注释
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
Note:$(ANACONDA_HOME) #虚拟环境Anaconda2的根目录





http://www.voidcn.com/blog/u010900574/article/p-6243308.html

1. 错误信息(没有pyconfig.h文件

fatal error: pyconfig.h: No such file or directory #include "pyconfig.h"

网上有答案说要增加PYTHONPATH的路径如下export PYTHONPATH=/path/to/caffe/python 可是这个对我来说并没有解决错误。
通过locate pyconfig.h发现系统中其实很多位置都有这个文件,应该是当前环境变量找不到这个文件导致。
真正的解决方法是:
/home/lab/anaconda2/include/python2.7/因为我用的anaconda。如果没有装执行下面这个估计也可以,反正你用locate pyconfig.h看看哪里有这个文件,给环境变量一个路径就可以了
export CPLUS_INCLUDE_PATH=/usr/include/python2.7

2.错误信息(没有定义的引用 //usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to lzma_index_end@XZ_5.0

//usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_buffer_decode@XZ_5.0' //usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_size@XZ_5.0'//usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_uncompressed_size@XZ_5.0' //usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_stream_footer_decode@XZ_5.0'//usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_end@XZ_5.0' //usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_stream_buffer_decode@XZ_5.0'usr/lib/x86_64-linux-gnu/libunwind.so.8: undefined reference to `lzma_index_end@XZ_5.0' collect2: error: ld returned 1 exit status

解决方案
同样是环境变量问题
我在~/.bashrc里面增加了下面一条命令
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
其实我估计再终端里面直接输出`export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu也应该能够解决问题




http://blog.csdn.net/darren2015zdc/article/details/73770744

今天我在UNUNTU系统上配置CUDA,添加PATH,source ~/.bashrc 后
却出现了下面的问题:
  命令 'ls' 可在 '/bin/ls' 处找到
  由于/bin 不在PATH 环境变量中,故无法找到该命令。
  Command 'vim' is available in '/usr/bin/'
  The command could not be located because '/usr/bin' is not included in the PATH environment variable.
查了两个小时,发现问题竟然出现在自己的理解层次上,我在bashrc文件中写了下面的信息

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin/:/sbin:/bin:/usr/game:$PATH
export PATH=/home/nick/mpich-install/bin:$PATH
export PATH=/home/nick/Qt5.2.1/5.2.1/gcc/bin/:$PATH
export LD_LIBRARY_PATH=/opt/matlab2009b/bin/glnx86/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/matlab2009b/extern/include/:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-6.0/bin:$PTAH
export PATH=/usr/local/bin:$PATH
export PATH=/usr/local/cuda-6.0/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=/opt/matlab2009b/extern/include/:$LD_LIBRARY_PATH
#source /opt/intel/composer_xe_2013_sp1.0.080/bin/iccvars.sh ia32

自己照着别人的东西抄的,没有理解,结果漏洞百出啊,开始时,我竟然没有发现,以后真要深入理解啊,不能机械式的抄袭啊。

知道画红色的为什么错了吗?

另外,这方面发现 kiwi小白总结的不错 点击打开链接 我摘抄下来了

在Ubuntu中有如下几个文件可以设置环境变量
/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量
~/.profile:在登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.


通常设置环境变量有三种方法:

一、临时设置

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export PATH=$JAVA_HOME/:$PATH

二、当前用户的全局设置

打开~/.bashrc,添加行:
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export PATH=$JAVA_HOME/:$PATH
使生效
source .bashrc 

三、所有用户的全局设置

$ sudo gedit /etc/profile 
在里面加入:

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export PATH=$JAVA_HOME/:$PATH
使生效
source profile
测试 echo $PATH



  1. 在命令行中,输入命令$ls 提示:

     命令 'ls' 可在 '/bin/ls' 处找到  由于/bin 不在PATH 环境变量中,故无法找到该命令。

  2. 2

    转到自己没有修改过PATH的文件,比如$cd /etc/environment,执行 $source /etc/environment,这是ls命令可以用了,不再提醒错误。

    或者执行命令

    $export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin/:/sbin:/bin:/usr/game:$PATH

  3. 3

    彻底修改错误,就打开自己修改过的PATH的文件。比如 /etc/profile /etc/environment ~/.profile ~/.bashrc 

  4. 4

    我修改过的PATH为 

    export PATH=/usr/local/cuda-6.0/bin:$PTAHexport PATH=/usr/local/bin:$PATHexport PATH=/usr/local/cuda-6.0/lib:$LD_LIBRARY_PATH

    大家看到错误了吗,把错误信息改正,再用source命令即可。






libEGL.so.1 不是符号连接


http://blog.csdn.net/u012283902/article/details/66471349

环境:

ubuntu16.04.2

nvidia 375.39

问题描述:

在编译caffe runtest时候,出现的问题

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接

原因:

系统找的是一个符号连接,而不是一个文件。这应该是个bug....

解决方法:

1.对这两个文件更名

2.重新建立符号连接


sudo mv /usr/lib/

nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1




http://blog.sina.com.cn/s/blog_ac08ce040101j1a8.html

libpcre.so.1 => not found

   

[root@localhost conf]# /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx: error while loading shared libraries:libpcre.so.1: cannot open shared object file: No

such file or directory

 

[root@localhost conf]# ldd $(which/usr/local/nginx/sbin/nginx)

which:
ldd: ./which: No such file or directory
/usr/local/nginx/sbin/nginx:
       linux-vdso.so.1 =>  (0x00007fff5c9d7000)
       libpthread.so.0 => /lib64/libpthread.so.0(0x0000003c3a000000)
       libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003c4b600000)
       libpcre.so.1 => not found
       libcrypto.so.6 => /lib64/libcrypto.so.6(0x0000003c43a00000)
       libz.so.1 => /usr/lib64/libz.so.1 (0x0000003c3a400000)
       libc.so.6 => /lib64/libc.so.6 (0x0000003c39400000)
       /lib64/ld-linux-x86-64.so.2 (0x0000003c39000000)
       libdl.so.2 => /lib64/libdl.so.2 (0x0000003c39c00000)

 

pcre库存在,只是名字不是libpcre.so.1,而是libpcre.so.0。尝试建立一个新的链接,解决这个问题:


 #ln -s libpcre.so.0.0.1 libpcre.so.1

 

 

ln -s /usr/local/lib/libpcre.so.1 /lib64

32位系统则:

ln -s /usr/local/lib/libpcre.so.1 /lib



error while loading shared libraries: xxx.so.x" 错误的原因和解决办法

今天在执行一个protobuf程序时,提示error while loading shared libraries: libprotobuf.so.8: cannot open shared object file: No such file or directory错误。google了一下,是由于找不到lib这个文件。

解决办法:

一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:

 

tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory


原因一般有两个, 一个是操作系统里确实没有包含该共享库(lib*.so.*文件)或者共享库版本不对, 遇到这种情况那就去网上下载并安装上即可. 

另外一个原因就是已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件. 

所以安装共享库后要注意共享库路径设置问题, 如下:

1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令

ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表. 

2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它"非/lib或/usr/lib"目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:

cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

3) 如果共享库文件安装到了其它"非/lib或/usr/lib" 目录下,  但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库. 

LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:

export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH    


一般来讲这只是一种临时的解决方案, 在没有权限或临时需要的时候使用.

参考:

http://blog.csdn.net/sahusoft/article/details/7388617

http://www.360doc.com/content/10/0601/09/11991_30616166.shtml





http://blog.csdn.net/hongye000000/article/details/51043913

make pycaffe出现错误

python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: no such file or directory
Makefile:498: recipe for target 'python/caffe/_caffe.so' failed make: *** [python/caffe/_caffe.so] Error 1

原因
python-numpy没有安装到位

解决方法
输入命令
sudo apt-get install python-numpy
确认Makefile.config文件中有以下代码,注意路径或版本号与自己的相符。
PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include