----------------------------------------------------------------------------------------------------------------------------------------------------------------------------开始:
一,依赖包的安装:
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按照上面命令在终端复制粘贴运行,由于是一个全新的Ubuntu系统,出现了如下错误:
解决方法如下:
sudo apt-get update再次安装依赖项:
确保每一个都安装成功。。。。
二,安装NVIDIA驱动
1,下载驱动
两种方式:官网下载:https://www.nvidia.com/Download/index.aspx?lang=en-us
百度云:链接:https://pan.baidu.com/s/1kCyazTjZePv2W3LoRGiv2g 提取码:724a
下载后的驱动文件为:NVIDIA-Linux-x86_64-387.34.run
2,禁用nouveau
需要禁用 nouveau,只有在禁用掉 nouveau 后才能顺利安装 NVIDIA 显卡驱动,禁用方法就是在 /etc/modprobe.d/blacklist-nouveau.conf 文件中添加一条禁用命令,首先需要打开该文件,需要在终端输入以下命令打开:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf输入密码然后在文件 的最后一行输入:blacklist nouveau ,目的是把ubuntu自带的驱动加入黑名单,安装nvidia驱动
接下来在终端输入:
sudo update-initramfs -u重启电脑!
3,安装nvidia驱动
注意了哈,安装显卡驱动要先切换到文字界面,所以,启动电脑后,会发现电脑分辨率变大,妈呀吓一跳,不要怕,(按Ctrl+Alt+F1~F6)进入文字界面,一阵操作安装好驱动在开机没事了,下面是操作,哈哈
输入用户名和密码登录,再输入: sudo service lightdm stop
现在可以安装驱动了,先进入家目录 cd ~ ,然后: sudo ./NVIDIA-Linux-x86_64-387.34.run,按照提示一步步来~
这个选NO,注意了哈。。。。
完成之后,再次重启电脑!
打开终端输入nvidia-smi,出现一个界面就是成功了 。。。。。
三,安装cuda8.0
依然是两种方式:官网下载(https://developer.nvidia.com/cuda-downloads和我的百度云(上面写了),但是不建议用我上面百度网盘里面的cuda8.0,安装之后会出现错误,下面看一下我的误区你就理解了:
首先先记住自己的cuda文件名字。如下:
进入文字界面,按Ctrl+Alt+F1~F6,输入:sudo service lightdm stop
安装要与名字匹配,现在知道为啥要记住了吧,sudo sh cuda_8.0.61_375.26_linux.run,输入出现如下错误:
这是因为我在百度云下载的文件复制的过程损坏了,所以索性重新下是最好的,但是现在进官网只出现最新的版本10,我要8咋办,哈哈哈,进入这个链接,是他所有的历史发行版本,都有:https://developer.nvidia.com/cuda-toolkit-archive
再按照上面步骤进行:就是不停的点enter,accept,yes....,如下:
注意这个是no!!!!!!!!!!!!!!!!!!!!!!,不要更新
成功之后输入:sudo service lightdm start,进入图形界面
设置环境变量:
sudo gedit ~/.bashrc在文件的最后加入:
export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH使环境变量生效:
source ~/.bashrc验证cuda8.0是否安装成功:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery sudo make ./deviceQuery
如果你还不放心,还可以通过查看cuda版本来检验是否安装成功: nvcc -V
四,cudnn
还是两种方式:官网注册安装:https://developer.nvidia.com/rdp/cudnn-download
百度云,链接:https://pan.baidu.com/s/1kCyazTjZePv2W3LoRGiv2g 提取码:724a
建议百度云,注册很麻烦的,我i里面有适合cuda8.0的两个版本:cudnn5和cudnn6,这里我安装的cudnn6,都能用,放心
解压到/home,会出现一个cuda的文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:
cd cuda/include sudo cp cudnn.h /usr/local/cuda/include #复制头文件然后命令行进入 cudn/lib64 路径下,运行以下命令:
sudo cp lib* /usr/local/cuda/lib64/ cd /usr/local/cuda/lib64/sudo rm -rf libcudnn.so libcudnn.so.6 #删除原有动态文件 sudo ln -s libcudnn.so.6.0.24 libcudnn.so.6 #生成软衔接 sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接 sudo ldconfig检查cudnn版本验证是否成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2五,安装opencv3.3
两种方式:官网下载源码:http://opencv.org/releases.html
或者我的百度云,都可以,哈哈
接下来就是编译和安装opencv3,3,解压压缩包,然后如下
mkdir build # 创建编译的文件目录 cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..这里如果没有cmake,可以按照提示安装cmake,然后继续进行:
make -j8 #编译漫长的等待。。。。。。。。。。。。。。。。
编译成功之后安装!!!!!
sudo make install #安装漫长的等待。。。。。。。。。。。。。。。。
安装后查看是否成功:
pkg-config --modversion opencv出现3.3.0就没问题了。
六,配置caffe
1,首先在你要安装的路径下 clone :
git clone https://github.com/BVLC/caffe.git进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作
sudo cp Makefile.config.example Makefile.config复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。然后修改 Makefile.config 文件,在 caffe 目录下打开该文件:
sudo gedit Makefile.config2,先修改Makefile.config 文件内容
将 #USE_CUDNN := 1 修改成: USE_CUDNN := 1 将 #OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 将 #WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1 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 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial3,修改makefile文件:
将: NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS) 替换为: NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 将: 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_serial4,修改 /usr/local/cuda/include/host_config.h 文件 :
将 #error-- unsupported GNU version! gcc versions later than 5.0 are not supported! 改为 //#error-- unsupported GNU version! gcc versions later than 5.0 are not supported!但是这个文件是有权限的,集体怎么改如下:
5,编译,在caffe目录下:
make all -j8
6,测试
sudo make runtest -j87,设置环境变量
sudo gedit ~/.bashrc 最后一行添加: export PYTHONPATH=/home/caffe/python:$PYTHONPATH source ~/.bashrc8.检查caffe,出现下面错误
这是因为没有编译pycaffe,我是参考这边算是很好的博客解决的:https://blog.csdn.net/yhaolpz/article/details/71375762?utm_source=blogxgwz1
接下来又出现问题,主要是python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录:
解决方法:
sudo apt-get install python-numpy再次make pycaffe成功:
再次检查导入caffe,还有错
ImportError: No module named skimage.io:
解决方案:
pip install -U scikit-image #若没有安装pip: sudo apt install python-pip
参考这篇博客可解决:
https://blog.csdn.net/a781751136/article/details/80231406
再次检查caffey又出错:
参考这个博客可解决:
https://blog.csdn.net/dgyuanshaofeng/article/details/78151510
成功!!!!!!!!!!!!!!!!!!!!!
enjoy your time!!!!!!