ubuntu安装caffe及python和opencv-20180801
更新时间:2024-06-07 09:27:01 阅读量: 综合文库 文档下载
Ubuntu安装caffe及python和opencv
Ubuntu版本:16.04.03 LTS,可以比较顺利地全部安装python所需的各种依赖,而不需要安装anaconda包。否则会引起新的软件之间的冲突。
Opencv:2.4.9 Python:2.7 Cuda:8.0 Cudnn:5.1
1. 解决无法安装ubuntu操作系统的问题
最近楼主购入一台华硕游戏本,发现无法安装ubantu。在安装中发现除了debian外所有使用自动安装方式的linux发行版均不能安装,于是研究就开始了。opensuse卡在写入引导,fedroa和centos卡在启动,ubuntu卡在启动安装,怀疑是u盘制作工具有问题,于是尝试了几种工具,就连dd命令也试过了,结果都无法解决。
解决方法:重新开机,光标选中“Install Ubuntu” ,按“e”,进入grub界面,将倒数第二行中的“quiet splash ---”改为“nomodeset”。F10保存,就可以进入安装界面,进行安装。
安装ubuntu系统之后,还需要将Ubuntu集成的开源驱动加入黑名单,即增加/etc/modprobe.d/blacklist-nouveau.conf文件: sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
在该文件中增加如下两行: blacklist nouveau
options nouveau modeset=0
激活上述文件发挥功能,执行sudo update-initramfs –u
执行 $lspci | grep nouveau,查看是否有内容,没有说明禁用成功,如果有内容,就执行: $sudo reboot
2. 安装caffe及python
先下载caffe
# sudo git clone https://github.com/BVLC/caffe.git
然后安装一堆第三方库
# sudo apt-get install libatlas-base-dev # sudo apt-get install libprotobuf-dev # sudo apt-get install libleveldb-dev # sudo apt-get install libsnappy-dev # sudo apt-get install libopencv-dev # sudo apt-get install libboost-all-dev # sudo apt-get install libhdf5-serial-dev # sudo apt-get install libgflags-dev
# sudo apt-get install libgoogle-glog-dev # sudo apt-get install liblmdb-dev
# sudo apt-get install protobuf-compiler # sudo apt-get install python-dev
接着,安装opencv
1
# cd caffe
# sudo git clone https://github.com/jayrambhia/Install-OpenCV # cd Install-OpenCV/Ubuntu # sudo sh dependencies.sh # cd 2.4
# sudo sh opencv2_4_10.sh
opencv的另一种安装方式 直接克隆下来
sudo git clone https://github.com/jayrambhia/Install-OpenCV 进入 cd Install-OpenCV/Ubuntu/2.4 给所有shell脚本加上可执行权限 chmod +x *.sh
安装其他版本出错了,建议装这个: sudo ./opencv2_4_9.sh
或:sudo sh opencv2_4_10.sh
最终出现OpenCV ready to be used(表示成功)
接下来,编译caffe # cd ~/caffe
# sudo cp Makefile.config.example Makefile.config # make all
至此,caffe安装完成。
3. 安装python所需要的各种依赖
Cython>=0.19.2 numpy>=1.7.1 scipy>=0.13.2
scikit-image>=0.9.3 matplotlib>=1.3.1 ipython>=3.0.0 h5py>=2.2.0 leveldb>=0.191 networkx>=1.8.1 nose>=1.3.0 pandas>=0.12.0
python-dateutil>=1.4,<2 protobuf>=2.5.0 python-gflags>=2.0 pyyaml>=3.10 Pillow>=2.3.0 six>=1.1.0
可以尝试采用如下命令安装上述库文件,但是没有验证过: sudo pip install -r ./python/requirements.txt
2
如果没有pip需要先安装下pip:sudo apt install python-pip
安装好上述python的依赖之后重新对caffe进行编译。并且执行make pycaffe编译。编译好之后,在python环境下可以执行import caffe和import cv2功能。如果python可以顺利导入这两个库,则说明安装成功,否则安装失败。
4. 安装nvidia显卡驱动
这里要尤其注意,安装显卡驱动要先切换到文字界面,(按Ctrl+Alt+F1~F6).所以,启动电脑后,先进入文字界面。从recovery mode进入Ubuntu之后,crtl+alt+F1可进入命令行模式(tty)。crtl+alt+F7可退出命令行模式。
首先改变驱动程序的文件属性为可执行文件。 $ chmod a+x /home/username/NVIDIA.run
当输入安装指令时,不要简单地输入 sudo ./....run,而是输入: sudo ./NVIDIA.run -no-x-check -no-nouveau-check -no-opengl-files -no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件 这样再reboot,就不会出现循环登录的问题。
注意:这里的NVIDIA.run代表包含具体的从NVIDIA官网下载的驱动的版本号。上述指令可以避免显卡安装之后的循环登录问题。
如果在安装时直接输入安装指令,则会在登录界面输入密码后依然跳转回登陆界面,无限循环,这是我在使用.run文件安装时遇到的问题,上述安装指令是一个亲测有效的解决方案。
有时在安装nvidia显卡之前,可能需要卸载已有的显卡驱动。删除以前激活的显卡驱动或者旧版本的nvidia官方驱动,在终端中输入如下命令: sudo apt-get –purge remove nvidia-*
sudo apt-get remove --purge nvidia-331-updates
如果安装的是官网下载的驱动, 则重新运行run文件来卸载 sh ./nvidia.run –uninstall
5. 安装nvidia显卡驱动2
1. 删除之前安装的nvidia驱动,运行 sudo apt-get purge nvidia-* 2. 删除已有驱动也可用sudo apt-get autoremove nvidia-* 命令 3.
2. 添加第三方驱动源,运行 sudo add-apt-repository ppa:graphics-drivers/ppa 或者 sudo apt-add-repository ppa:xorg-edgers/ppa
3. 更新源,运行 sudo apt-get update
4. 查询nvidia驱动可用版本,运行sudo apt-cache search nvidia-* 查询相应版本 4. 安装驱动,运行 sudo apt-get install nvidia-367
6. 安装cuda
可参考nvidia公司官网的NVIDIA CUDA INSTALLATION GUIDE FOR LINUX.pdf进行安装。
3
(1) 修改gcc/g++版本(这一步似乎不执行也能使得cuda正常运行) 由于cuda8不支持gcc/g++5以后的版本,所以需要做以下更改。
改变系统默认的gcc/g++编译器版本,换成gcc/g++-5
1. 2. 3. 4.
sudo su
cd ../../usr/bin
ln -s /usr/bin/g++-5 /usr/bin/g++ -f ln -s /usr/bin/gcc-5 /usr/bin/gcc -f
这样,gcc就默认成gcc-5,g++也默认成g++-5了。
(2) 下载cuda包后执行以下命令:
1 sudo chmod 777 cuda_8.0.44_linux.run 2 sudo ./cuda_8.0.44_linux.run
注意:执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia367驱动时,一定要选择否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。
(3) 环境变量配置
打开~/.bashrc文件: sudo gedit ~/.bashrc 将以下内容写入到~/.bashrc尾部:
1 export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} 2 export
LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
激活环境变量设置:source ~/.bashrc
(4) 添加环境变量(如果已执行(3),则本步骤可不执行)
编辑计算机文件夹下的/etc/profile,加入CUDA环境变量(下面的2,3句),保存。 1. sudo gedit /etc/profile 2. export PATH=/usr/local/cuda/bin:$PATH 保存后执行下面的命令,使其生效: 1. source /etc/profile
同时,进入/etc/ld.so.conf.d/文件夹,执行下面的命令,新建一个名为cuda.conf的文件。 1. sudo gedit cuda.conf 然后在文件中写入如下内容: 1. /usr/local/cuda/lib64
保存后执行下面的命令,使其生效。 1. sudo ldconfig (5) Build CUDA Sample
进入usr/local/cuda/samples,然后build samples,命令如下: 1. sudo make all -j8
在执行完之后,进入samples/bin/x86_64/linux/release目录下,在终端执行查询命令: 1. ./deviceQuery
如果返回了你电脑显卡的信息,且结尾有Result=PASS,则表示安装成功,否则,建议重启电脑之后再次尝试查询命令。
4
(6) 测试CUDA的samples
1 cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery 2 make
3 sudo ./deviceQuery
如果显示一些关于GPU的信息,则说明安装成功。
(7) Qustion2 and Answer2: (a) 问题1
进行上述检测后,如果输入nvcc –version命令后出现nvcc没有安装或\directory\等问题,则采用以下措施:
Your PATH environment variable is not set up correctly. Ensure that your PATH includes the bin directory where you installed the Toolkit, usually /usr/local/cuda-8.0/bin. 1. $ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} (b) 问题2 nvcc -V 问题是
The program 'nvcc' is currently not installed. You can install it by typing: sudo apt-get install nvidia-cuda-toolkit
但是我们已经安装了cuda,在 /usr/local 能够看到文件夹 cuda-7.5。 这需要如下设置 执行sudo gedit ~/.bashrc,在最后面,64位的话粘贴以下内容: export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH 接着执行 source ~/.bashrc 使其立即生效 下面查询 nvcc -V
可见如下结果
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
5
安装nvidia driver,如果网速度不好,可能要花比较长的时间 安装完成后重启
sudo apt-get install nvidia-378 sudo reboot
重启系统后,执行下面的命令查看驱动的安装状态显示安装成功 sudo nvidia-smi sudo nvidia-setting
安装NVIDIA驱动后,登录死机现象再没出现,一切正常了。 (10) 注意
当BIOS中Secure Boot设置为disable,正安装NVIDIA driver后,如果再将Secure Boot设置为enable,再启动ubuntu则NVIDIA driver则不会工作。 具体原因,参见这篇文章
《UEFI、BIOS、Secure Boot的关系和知识介绍》
11
如果要在安全启动模式下安装NVIDIA driver,有点麻烦,我没有再尝试,参见这篇文章应该会有帮助:
《Linux secure boot(安全启动)时添加Nvidia显卡驱动》 (11) 参考文章
《ubuntu16.04 NVIDIA显卡驱动安装》 《Ubuntu 16.04 nvidia安装》
10. 附录
(1) 安装cuda8.0
进入cuda_8.0.61_375.26_linux.run所在目录 执行:
$sudo chmod +x cuda_8.0.61_375.26_linux.run $sudo ./ cuda_8.0.61_375.26_linux.run
按q键退出RELU文档,按照如下选择,显卡驱动一定要选n,不装 其他都默认yes
最后,配置环境变量,直接放在系统配置文件profile里面: $sudo gedit /etc/profile 在最后面加入两行代码:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 保存退出.
执行:$sudo ldconfig
(2) 检查是否安装成功 $nvcc –version
查看CUDA ,应该显示8.0,如果没有添加path会显示系统之前的版本 $nvidia-smi 查看驱动信息
在根目录下会出现NVIDIA_CUDA-8.0_Samples,打开终端,进入该目录: $sudo make –j8 #编译samples,我电脑8线程,全开编译 等待2分钟左右,编译完成,执行下条指令: $sudo ./1_Utilities/deviceQuery/deviceQuery
出现提示显卡驱动版本等信息的内容,表示安装成功。
12
(3) Atlas安装
sudo apt-get install libatlas-base-dev
8888888888888888888888888888888888888888888888888888888888888888888888888
Ubuntu16.04 Caffe 安装步骤记录(超详尽)
2017年05月19日 19:09:11 阅读数:94695
历时一周终于在 ubuntu16.04 系统成功安装 caffe 并编译,网上有很多教程,但是某些步骤并没有讲解详尽,导致配置过程总是出现各种各样匪夷所思的问题,尤其对于新手而言更是欲哭无泪,在我饱受折磨后决定把安装步骤记录下来,尽量详尽清楚明白,避免后来小白重蹈覆辙。
安装硬件: intel i5 + NVIDIA 740 M
安装流程细分为如下10个步骤,细化步骤粒度更易避免出错: 1、安装依赖包 2、禁用 nouveau 3、配置环境变量 4、下载 CUDA 8.0 5、安装 CUDA 8.0
6、验证 CUDA 8.0 是否安装成功 7、安装 cudnn 8、安装 opencv3.1
sudo apt-get install python-opencv sudo pip3 install opencv-python so “import cv2” is enabled. 9、安装 caffe
13
10、安装 pycaffe notebook 接口环境
第1步 安装依赖包
安装后续步骤或环境必需的依赖包,依次输入以下命令:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev sudo apt-get install git cmake build-essential123456789
有一定几率安装失败而导致后续步骤出现问题,所以要确保以上依赖包都已安装成功,验证方法就是重新运行安装命令,如验证 git cmake build-essential是否安装成功共则再次运行以下命令:
sudo apt-get install git cmake build-essential 1
界面提示如下则说明已成功安装依赖包,否则继续安装直到安装成功。
yhao@yhao-X550VB:~$ sudo apt-get install git cmake build-essential 正在读取软件包列表... 完成
正在分析软件包的依赖关系树 正在读取状态信息... 完成
build-essential 已经是最新版 (12.1ubuntu2)。 cmake 已经是最新版 (3.5.1-1ubuntu3)。 git 已经是最新版 (1:2.7.4-0ubuntu1.1)。
14
下列软件包是自动安装的并且现在不需要了:
lib32gcc1 libc6-i386
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 94 个软件包未被升级。1234567891011
第2步 禁用 nouveau
安装好依赖包后需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,通过以下命令打开:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf1
打开后发现该文件中没有任何内容,写入:
blacklist nouveau option nouveau modeset=0 1
保存时命令窗口可能会出现以下提示:
** (gedit:4243): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position 12
无视此提示~,保存后关闭文件,注意此时还需执行以下命令使禁用 nouveau 真正生效:
sudo update-initramfs -u1
第3步 配置环境变量
同样使用 gedit 命令打开配置文件:
sudo gedit ~/.bashrc 12
15
打开后在文件最后加入以下两行内容:
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH 123
保存退出。
第4步 下载 CUDA 8.0
进入 https://developer.nvidia.com/cuda-downloads ,依次选择 CUDA 类型然后下载即可。
第5步 安装 CUDA 8.0
第四步下载的1.4G的 CUDA中包含有 nvidia 显卡驱动,故此步骤 CUDA 的安装包括了 nvidia 显卡驱动的安装,此时注意你是否已经安装过 nvidia 显卡驱动,若无法保证已安装的
16
nvidia 显卡驱动一定正确,那就卸载掉之前安装的 nvidia 显卡驱动(卸载方法链接),然后开始安装 CUDA 8.0;若可以保证已安装正确的 nvidia 显卡驱动,则直接开始安装 CUDA 8.0,在安装过程中选择不再安装 nvidia 显卡驱动。
为了方便开始安装过程的路径查找,把下载的 CUDA 安装文件移动到 HOME 路径下,然后通过 Ctrl + Alt + F1 进入文本模式,输入帐号密码登录,通过 Ctrl + Alt + F7 可返回图形化模式,在文本模式登录后首先关闭桌面服务:
sudo service lightdm stop1
然后通过 Ctrl + Alt + F7 发现已无法成功返回图形化模式,说明桌面服务已成功关闭,注意此步对接下来的 nvidia 驱动安装尤为重要,必需确保桌面服务已关闭。
Ctrl + Alt + F1 进入文本模式,然后运行 CUDA 安装文件进行安装,之前我们已经把 CUDA 安装文件移动至 HOME,直接通过 sh 命令运行安装文件即可:
sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs1
其中 cuda_8.0.61_375.26_linux.run 是我的 CUDA 安装文件名,而你需替换为自己的 CUDA 安装文件名,若此时忘记可直接通过 ls 文件查看文件名,这也是我建议把 CUDA 安装文件移动到 HOME 下的另一个原因。
执行此命令约1分钟后会出现 0%信息,此时长按回车键让此百分比增长,直到100%,然后按照提示操作即可,先输入 accept ,然后让选择是否安装 nvidia 驱动,这里的选择对应第5步开头,若未安装则输入 “y”,若确保已安装正确驱动则输入“n”。
剩下的选择则都输入“y”确认安装或确认默认路径安装,开始安装,此时若出现安装失败提示则可能为未关闭桌面服务或在已安装 nvidia 驱动的情况下重复再次安装 nvidia 驱动,安装完成后输入重启命令重启:
reboot1
重启后登录进入系统,配置 CUDA 环境变量,与第3步相同,使用 gedit 命令打开配置文件:
sudo gedit ~/.bashrc1
在该文件最后加入以下两行并保存:
export PATH=/usr/local/cuda-8.0/bin:$PATH
17
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH123
使该配置生效:
source ~/.bashrc1
第6步 验证 CUDA 8.0 是否安装成功
分别执行以下命令:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make
./deviceQuery12345
若看到类似以下信息则说明 cuda 已安装成功:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s) Device 0: \
CUDA Driver Version / Runtime Version 8.0 / 8.0 CUDA Capability Major/Minor version number: 3.5
Total amount of global memory: 2004 MBytes (2100953088 bytes) ( 2) Multiprocessors, (192) CUDA Cores/MP: 384 CUDA Cores GPU Max Clock rate: 1032 MHz (1.03 GHz) Memory Clock rate: 800 Mhz
18
Memory Bus Width: 64-bit L2 Cache Size: 524288 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32
Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: No Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes
19
Device has ECC support: Disabled Device supports Unified Addressing (UVA): Yes Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0 Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GT 740M Result = PASS
第7步 安装 cudnn
登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下
载对应 cuda 版本且 linux 系统的 cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录,不想注册的可从我的网盘下载:https://pan.http://www.wodefanwen.com//s/1c2xPVzy
20
下载完成后解压,得到一个 cudn 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件1
然后命令行进入 cudn/lib64 路径下,运行以下命令:
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件 sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接 sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接1234
这里需要注意第三行命令,网上有人的第三行命令为:
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接1
起初我执行的也是上条链接 libcudnn.so.5.1.5 的命令,但是后面编译caffe时出错,报错内容为 /usr/bin/ld: 找不到 -lcudnn,所以这里需要先查看一下自己应该链接的是 libcudnn.so.5.1.10 还是 libcudnn.so.5.1.5 ,查看方法为下:
locate libcudnn.so1
我执行完后显示如下:
yhao@yhao-X550VB:~$ locate libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so /home/yhao/.local/share/Trash/files/libcudnn.so.5 /home/yhao/.local/share/Trash/files/libcudnn.so.5.1.10 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5 /home/yhao/.local/share/Trash/files/cuda/lib64/libcudnn.so.5.1.10
21
/home/yhao/.local/share/Trash/info/libcudnn.so.5.1.10.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.5.trashinfo /home/yhao/.local/share/Trash/info/libcudnn.so.trashinfo /home/yhao/cuda/lib64/libcudnn.so /home/yhao/cuda/lib64/libcudnn.so.5 /home/yhao/cuda/lib64/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so
/usr/local/lib/libcudnn.so.5123456789101112131415
可以看到我的文件是 libcudnn.so.5.1.10 ,并没有 libcudnn.so.5.1.5,所以第三行命令我链接的是 libcudnn.so.5.1.10 ,这里第三行链接命令视你的查看结果而定。
安装完成后可用 nvcc -V 命令验证是否安装成功,若出现以下信息则表示安装成功:
yhao@yhao-X550VB:~$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2016 NVIDIA Corporation Built on Tue_Jan_10_13:22:03_CST_2017 Cuda compilation tools, release 8.0, V8.0.6112345
第8步 安装 opencv3.1
进入官网 : http://opencv.org/releases.html , 选择 3.1.0 版本的 source , 下载 opencv-3.1.0.zip
22
解压到你要安装的位置,命令行进入已解压的文件夹 opencv-3.1.0 目录下,执行:
mkdir build # 创建编译的文件目录 cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j8 #编译 12345678
在执行 make -j8 命令编译到 92% 时可能会出现以下错误:
modules/cudalegacy/src/graphcuts.cpp:120:54: error:
‘NppiGraphcutState’ has not been declared
typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppState, Npp8u* pDeviceMem);1234
这是由于opecv3.1与cuda8.0不兼容导致的。解决办法:
23
修改 /opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件内容,如图:
编译成功后安装:
sudo make install #安装1
安装完成后通过查看 opencv 版本验证是否安装成功:
pkg-config --modversion opencv 1
第9步 安装 caffe
首先在你要安装的路径下 clone :
git clone https://github.com/BVLC/caffe.git1
进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :
sudo cp Makefile.config.example Makefile.config1
复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。
然后修改 Makefile.config 文件,在 caffe 目录下打开该文件:
sudo gedit Makefile.config1
修改 Makefile.config 文件内容:
24
1.应用 cudnn
将
#USE_CUDNN := 1 修改成:
USE_CUDNN := 11234
2.应用 opencv 版本
将
#OPENCV_VERSION := 3 修改为:
OPENCV_VERSION := 31234
3.使用 python 接口
将
#WITH_PYTHON_LAYER := 1 修改为
WITH_PYTHON_LAYER := 11234
4.修改 python 路径
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
25
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial 12345
这里贴出 我的Makefile.config文件 方便大家参考 然后修改 caffe 目录下的 Makefile 文件:
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)1234 将:
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_serial1234
然后修改 /usr/local/cuda/include/host_config.h 文件 :
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported! 改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!1234
OK ,可以开始编译了,在 caffe 目录下执行 :
make all -j81
这是如果之前的配置或安装出错,那么编译就会出现各种各样的问题,所以前面的步骤一定要细心。
编译成功后可运行测试:
26
sudo make runtest -j81
如果显示结果为上图所示,则表示 caffe 已经成功安装。
10、安装 pycaffe notebook 接口环境
在上一步成功安装 caffe 之后,就可以通过 caffe 去做训练数据集或者预测各种相关的事了,只不过需要在命令行下通过 caffe 命令进行操作,而这一步 pycaffe 的安装以及 notebook 环境配置只是为了更方便的去使用 caffe ,实际上大多数都是通过 python 来操作 caffe 的,而 notebook 使用浏览器作为界面,可以更方便的编写和执行 python 代码。 首先编译 pycaffe :
cd caffe
sudo make pycaffe -j8123
以下是我编译 pycaffe 时出现的错误:
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录1
解决方法:
27
sudo apt-get install python-numpy1
此外也可能是由于 Makefile.config 文件中 python 路径设置错误出现的错误,可根据上一步检查一下,也可能出现别的错误,百度谷歌之~
编译 pycaffe 成功后,验证一下是否可以在 python 中导入 caffe 包,首先进入 python 环境:
python1
然后导入 caffe :
>>> import caffe1
若不报错则表示 caffe 的 python 接口已正确编译,但是应该不会那么顺利,以下是我导入 caffe 时出现的错误: 错误1:
File \, line 1, in
解决方法:
sudo echo export PYTHONPATH=\ >> ~/.bashrc source ~/.bashrc123
错误2:
ImportError: No module named skimage.io1
解决方法:
pip install -U scikit-image #若没有安装pip: sudo apt install python-pip1
ok,最后一步,配置notebook环境
首先要安装python接口依赖库,在caffe根目录的python文件夹下,有一个requirements.txt的清单文件,上面列出了需要的依赖库,按照这个清单安装就可以了。
在安装scipy库的时候,需要fortran编译器(gfortran),如果没有这个编译器就会报错,因此,我们可以先安装一下。
28
首先进入 caffe/python 目录下,执行安装代码:
sudo apt-get install gfortran
for req in $(cat requirements.txt); do sudo pip install $req; done123
安装完成以后执行:
sudo pip install -r requirements.txt1
就会看到,安装成功的,都会显示Requirement already satisfied, 没有安装成功的,会继续安装。
然后安装 jupyter :
sudo pip install jupyter1
安装完成后运行 notebook :
jupyter notebook
或
ipython notebook12345
就会在浏览器中打开notebook, 点击右上角的New-python2, 就可以新建一个网页一样的文件,扩展名为ipynb。在这个网页上,我们就可以像在命令行下面一样运行python代码了。输入代码后,按shift+enter运行,更多的快捷键,可点击上方的help-Keyboard shortcuts查看,或者先按esc退出编辑状态,再按h键查看。
29
为心仪公司折腾DL许久然而并无缘~ 加油。 参考文章:
http://www.cnblogs.com/denny402/p/5088399.html
http://blog.csdn.net/sunpeng19960715/article/details/54835148
30
正在阅读:
ubuntu安装caffe及python和opencv-2018080106-07
热风炉的热工计算01-16
2009鲁班奖项目经理03-14
2022年大连海事大学法学院612法理、民法、民事诉讼法之法理学考04-09
2017-2023年中国CT机终端市场运营态势研究报告(目录)08-17
电阻焊焊接原理06-25
什么是DCS和DEH10-28
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 20180801
- 安装
- ubuntu
- python
- opencv
- caffe
- 2016年百万公众网络学习成效测试参考答案
- 宋代妇女衣装研究
- \\"532+461+双10mg\\"搭建卷烟品牌竞争新平台
- 最新17—18学年下学期七年级期中考试地理试题(附答案) - 图文
- 幼儿园概述
- 新版部编人教版八年级语下学期文期中试题(附答案)
- 矿山基建及生产开采招标文件
- HE石蜡切片步骤-使用
- 新时达电梯故障代码及故障说明 - 图文
- 小学四年级体育教学工作计划全年度
- 1 秋 天 教案设计 设计说明
- 领导干部个人有关事项报告工作总结
- 住院医师规范化培训期间病历书写
- 初中英语重点句型、短语(中考必背)综述
- 物理化学实验试卷1
- 液压挖掘机回转机构毕业设计论文 - 图文
- 聚丙烯添加少量聚乙烯对拉丝的作用
- 《步步高 学案导学设计》2013-2014学年 高中数学 人教B版选修2-1
- 三年级下语文导学案-珍贵的教科书-北师大版(无答案).doc
- 研究生综合英语1(翻译+答案)