安装caffe时遇到的各种问题

2017/5/15

caffe的编译过程

装好了cuda和cudnn之后,接下来就是对caffe文件的编译

首先下载一个BVLC/caffe的安装包,解压为caffe-master这个文件夹

然后cd到caffe-master这个目录下,运行下面的指令,相当于新建Makefile.config这个文件并且将Makefile.config.example的内容复制到Makefile.config中,

cp Makefile.config.example Makefile.config

然后运行下面的指令打开Makefile.config

vim Makefile.config

然后在Makefile.config中做如下修改:

A. 启用CUDNN,去掉#USE_CUDNN := 1中的#

B. 启用opencv3,如果你使用的 opencv >= 3.0.0,去掉#OPENCV_VERSION := 3

中的#

C. 使用python来编译层数的话,去掉#WITH_PYTHON_LAYER:=1中的#

然后

make all -j64

下面这两个指令其实可以不运行,因为只是测试编译后的caffe文件到底好不好使

make test -j64

make runtest -j64

通过cd指令转到caffe下的python目录中运行下面指令

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

如果提示权限不够的话就是

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

然后通过cd指令转到caffe目录中运行下面指令

make pycaffe

最后打开~/.bashrc文件

vim  ~/.bashrc

在这个文件中的最后一行添加

export PYTHONPATH=caffe根目录/python:$PYTHONPATH

如果执行指令make pycaffe时出现:没有规则可以创建目标”pycaffe”,因为之前在caffe-master文件夹下编译生成了一些文件导致不能去编译pycaffe,接下来要用make clean指令将之前编译的文件清除,然后再执行make pycaffe就可以了。

在运行语义分割FCN程序中的主文件infer.py的时候,它显示因为CUDNN版本太低不能用它来加速,所以在master-caffe文件夹下的Makefile.config中将USE_CUDNN := 1注释掉并且重新编译master-caffe,然后才能运行infer.py文件。

VIM使用

输入i表示编辑文档

Esc是退出编辑进入下面的命令行

然后再下面的命令行中输入:wq表示退出

注意:

不要用sudo pip install ipython来安装ipython

要用sudo apt-get install ipython来安装ipython

更新pip这个软件用下面的指令:

sudo pip install --upgrade pip

编译caffe的时候遇到的“cublas_v2.h:No such file or directory”这个错误,刚开始还在网上搜这个错误的答案,其实看命令窗口就可以发现错误出在哪,仔细看错误提示,其实是说 cublas_v2.h这个头文件找不到了,而这个头文件其实是在/usr/local/cuda这个文件夹中的,最后到/usr/local文件夹下发现cuda这个文件夹没有了,难怪说找不到cublas_v2.h这个头文件!

其实cuda是装cuda时自动生成的文件夹,之所以突然没有了可能是因为我之前装stardict词典和有道词典的时候运行什么指令将cuda这个文件夹给删了,所以我还得再装一遍cuda!以后装其软件输什么指令或者干其他什么事要输入指令的时候一定要先搞清楚指令的意思再输入!!!不然又可能误删什么东西!!

编译caffe的前期安装:

下载对应版本的cuda安装包,我下载的是deb(local)版,

安装CUDA

sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb

sudo apt-get update

sudo apt-get install cuda

安装CUDNN

1、删除原来的cudnn系统路径下的一些文件

sudo rm -rf /usr/local/cuda/include/cudnn.h

sudo rm -rf /usr/local/cuda/lib64/libcudnn*   #这里*是通配符,

libcudnn*指的是名字中带有libcudnn的所有文件

2、安装刚才解压的cudnn版本,在终端cd到刚解压的cuda文件夹,然后继续输入下面两个指令,这两个指令相当于把解压后的cuda文件夹下的一些文件拷到系统路径下面

sudo cp include/cudnn.h /usr/local/cuda/include/

sudo cp lib64/lib* /usr/local/cuda/lib64/       #这里*是通配符,lib*指的是名字中带有lib的所有文件

3、在系统路径下建立软链接(解压出来的lib64下面有3个so文件。分别是

libcudnn.so 和 libcudnn.so.5以及 libcudnn.so.5.1.3文件。 并且这3个点so文件大小都一样。其实都是软连接!libcudnn.so链接到libcudnn.so.5,而

libcudnn.so.5.又链接到libcudnn.so.5.1.3。 真正的文件只有

libcudnn.so.5.1.3)

cd /usr/local/cuda/lib64

sudo chmod +r libcudnn.so.5.1.10

sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5

sudo ln -sf libcudnn.so.5 libcudnn.so

接下来设置环境变量:

sudo gedit /etc/profile

在打开的文件中加入如下两句话

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

保存后,使环境变量立即生效,

source /etc/profile

然后cd指令进入/usr/local/cuda/samples,执行下面的命令来build samples

sudo make all -j64

全部编译完成后,cd进

入/usr/local/cuda/samples/bin/x86_64/linux/release,运行deviceQuery

./deviceQuery

如果出现显卡信息,则驱动及显卡安装成功,结果如下:

ipython高版本后,其中的ipython notebook就是jupyter了,用

sudo pip install jupyter安装就可以了

运行姿态检测的代码提示说找不到configobj,其实configobj指的是一个库,这个库可以用来读配置文件

用sudo pip install configobj安装即可

2017/5/23

sudo pip install ipython表示安装ipython的最新版本

sudo apt-get install ipython表示安装与当前python版本最相容的ipython版本

安装python 2.7:

http://blog.csdn.net/sinat_33186733/article/details/51762499

安装完后,接下来编译caffe

但是在编译caffe文件的时候出现了下面这个问题:

无法在so中使用libpython.2.7.a

build error msg:

/usr/bin/ld: /usr/local/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `a local symbol‘ can not be used when making a shared object; recompile with -fPIC

/usr/local/lib/libpython2.7.a: could not read symbols: Bad value

则返回到python的编译文件包下,输入下面的指令进行重新安装

./configure --prefix=/usr/local/  --enable-shared CFLAGS=-fPIC

make

sudo make install

http://blog.csdn.net/kevin_darkelf/article/details/51683456

再重新编译安装一遍之后再编译caffe,却出现下面这个错误:

/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python.so:对‘PyUnicodeUCS4_AsWideChar’未定义的引用

/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libboost_python.so:对‘PyUnicodeUCS4_FromEncodedObject’未定义的引用

collect2: error: ld returned 1 exit status

make: *** [.build_release/tools/upgrade_net_proto_binary.bin] 错误 1

解决方法是编译python文件的时候在

./configure --prefix=/usr/local/  --enable-shared CFLAGS=-fPIC后面增加--enable-unicode=ucs4

http://blog.chinaunix.net/uid-25847668-id-5753684.html?_t=t

这时编译caffe没问题了,但是运行demo程序的时候发现还需要导入Python的相关包,所以到caffe-master/python中的这个目录中去,然后运行下面这个语句安装相应的包

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

然后却出现了下面这个问题:

Traceback (most recent call last):

File "/usr/local/bin/pip", line 7, in <module>

from pip import main

File "/usr/local/lib/python2.7/site-packages/pip/__init__.py", line 21, in <module>

from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning

File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/__init__.py", line 62, in <module>

from .packages.urllib3.exceptions import DependencyWarning

File "/usr/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/__init__.py", line 29, in <module>

import urllib3

ImportError: No module named urllib3

发现可能是pip的问题,然后在终端输入pip,结果也有error,也显示说是这个No module named urllib3的问题,

所以然后我又以下面这个原始方式再编译python,编译完后,输入pip显示正确

./configure

make

sudo make install

我就把pip给卸载了,然后再按照常规方法编译python,这时caffe能编译通过,然后再安装pip也没啥问题了

安装pip的方法:

Ubuntu14.04上安装pip的方法

在Ubuntu14.04上,建议通过下面的方法安装,这是一种通用的方法,也适用于Windows,当然在Windows下手动下载下来就行了

wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate

sudo python get-pip.py

如果在Ubuntu14.04上你用sudo apt-get install Python-pip下载安装,在使用时有可能出现问题

这是因为通过apt-get安装的pip版本太老了,老的pip版本依赖requests.compat.IncompleteRead,而在2.4.0版本的requests中已经移除了

requests.compat.IncompleteRead,解决方法是先卸载pip(命令为sudo apt-get remove python-pip),然后再用上面的方法重新安装。

注意这种方式安装的pip卸载的时候删掉各个路径下的pip文件包就可以了

编译caffe前要安装一些caffe的依赖项

2017/5/24

装anaconda,然后装好了后如果导入不了caffe就去改caffe文件夹下的Makefile.config文件,在配置文件中设置与anaconda相关的配置

2017/5/25

Apt-get安装不了软件包:

这个很难讲,可能是依赖关系问题,也可能是源冲突,或者本来源就不好

你sudo apt-get -f install试一下看看

不行的话这样

cd /var/lib/dpkg

sudo mv info info.bak

sudo mkdir info

然后apt-get install 或者 apt-get upgrade

再把info替换回去应该就可以了

Vim用不了提示错误

ImportError: No module named _sysconfigdata_nd; unrecognized arguments:

解决方法

sudo ln -s /usr/lib/python2.7/plat-*/_sysconfigdata_nd.py /usr/lib/python2.7/

然后再

cd .vim/plugin

cp blog.vim ~

rm blog.vim

然后vim就可以用了

2017/5/31

之前把python卸载了之后的解决办法是利用远程连接在其他电脑拷贝python的相关文件夹到这个电脑

相关链接:

http://bbs.chinaunix.net/thread-1815457-1-1.html

然后发现python相关的包比如pip还有其他的什么包都不能用,比如在终端输入pip然后终端会卡住,什么也不显示,并且sudo apt-get install python-pip又显示说python-pip包是最新的,其实是因为拷过来的python中的库没有在usr/bin下建立软连接,所以应该先将所有的这些python相关包卸载掉,然后再重新安装,这样它们就建立了软连接了

先卸载:

sudo apt-get remove Python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags cython ipython

再重新安装:

sudo apt-get install Python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags cython ipython

2017/6/5

在跑crfasrnn的demo时,首先要编译这个程序自带的caffe文件夹,但是caffe文件夹里面的Makefile.config中没有关于opencv的编译选项,所以第一次编译虽然通过了,但是跑demo的时候会有error,我把opencv的选项加进去再编译然后再跑demo就没问题了

时间: 07-24

安装caffe时遇到的各种问题的相关文章

caffe:mac10.12安装caffe的步骤

前言:caffe官网中安装caffe时涉及的东西比较多而杂乱,其实有些东西可以忽略掉. 步骤: mac10.12本身自带了python2.7,可以使用系统自带的python 1.安装Homebrew: 在终端中输入  ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.安装caffe需要用到的一些依赖库,在终端中依次输入下面几行 brew install

ubuntu16.04 安装 caffe cuda 相关流程

不多说了,经历了很多莫名其妙的错误最后终于安装好了,直接放安装脚本: #!/bin/bash #安装时要注意有些库可能安装失败以及安装caffe有和protobuf相关错误时可能需要重新对protobuf进行make install cd /home/zw/softwares #需要事先下载对应版本的cuda sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo ap

解决python在import caffe时出现的no module name _caffe问题

这两天搞毕业设计要用到caffe,在图像预处理的时候要调用python 的caffe接口,结果就出现了 ImportError: No module named _caffe 于是我在网上找各种解决方法,终于发现这是我当时在安装和配置caffe时留下的坑: 这里引用一下http://blog.sina.com.cn/s/blog_74f32c400102wjli.html这篇博文,我是看了这篇文章才明白,是我当时太懒没有配置好caffe的接口 在编译好libcaffe之后,接下来就可以编译整个解

win7 64 旗舰版虚拟GPU-VMware下+vs2013安装caffe+matlab+python

转发请说明来处 Win7配置caffe(无GPU) 配置环境: 必须:win7 64 + vs2013 Win7 64位旗舰版要升级到service spack(因为是在vs2013下,想安装vs2013,得将旗舰版升级到Service Pack1),如下图 Vs2013 本人申请的服务器,无GPU,如图: 计算机-属性-设备管理器 (如果你的是NVIDIA,需要下载CUDA,不着急下面先看) 本人python2.7.12(不是安装的anaconda,当然建议安装这个) Matlab2016a

linux 使用yum命令安装软件时出现HTTP Error 404 NOT FOUND错误的解决办法

在centos7 的环境下,使用yum install openssh-server 安装SSH时,在下载的过程中一直(软件安装包连接)提示HTTP error 404 NOT FOUND 错误: 将软件安装安装包连接网址复制到win下,可以正常访问下载: yum查找软件包依赖时使用的是过时的缓存,清空更新之后,再次安装软件,问题消失, 使用命令:yum clean all

php安装编译时 configure: error: Cannot find OpenSSL&#39;s &lt;evp.h&gt;

=============================================== yum install error: protected multilib versions error===============================================sudo yum downgrade openssl 降级sudo yum install openssl-devel ===另外参考====================================

安装office2016时弹出microsoft setup bootstrapper已停止工作的解决办法

安装office2016时安装进度条走到最后又回滚,弹出microsoft setup bootstrapper已停止工作,最后"安装出错" 经过了1天的试尽了各种控制面板卸载.文件夹删除.office注册表删除等方法,最后用了以下方法才终于解决.希望没试过我这个方法的朋友们先试下这个方法.(⊙o⊙)- 确认启动Windows Event Log这个服务项.Windows系统的服务打开方式如下:在"运行"里输入services.msc,就可以打开了,或者通过计算机管

【记录】在MAC上安装caffe

---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主要在于Python接口上) 终于找到了解决办法 其实Caffe的安装分两步:安装依赖+编译源码 首先是安装依赖: [必要依赖]: 官方推荐用homebrew来安装: brew install -vd snappy leveldb gflags glog szip lmdb # 添加science源来

CentOS 安装软件时,错误Transaction check error ... file...conflicts with file from package zzz的解决

CentOS 安装软件时(比如:# yum install subversion),有时候会碰到类似如下的错误: Transaction check error: file /usr/lib64/libsvn_client-1.so.0.0.0 from install of subversion-1.8.11-1.x86_64 conflicts with file from package subversion-libs-1.7.14-7.el7_0.x86_64 file /usr/lib