#Ubuntu16.04安装caffe教程
经过一整天的安装,终于在笔记本上安装成功了Caffe记录一下。
我的电脑为i7 6700 + NVIDIA GTX960M,因为是游戏本还是双系统,显卡驱动有些难装。

  • 安装依赖项
  • 下载cuda8.0
  • 安装cudnn
  • 安装anaconda3
  • 安装opencv
  • 安装caffe
  • 安装tensorflow
    ##安装依赖项
sudo apt-get install libprotobuf-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libopenblas-dev liblapack-dev libatlas-base-devsudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-devsudo apt-get install git cmake build-essential

在这里我拆开安装因为在安装时候遇到了一些错误。
##显卡驱动的安装
到设置->软件和更新->附加驱动查看

记住型号驱动为nvidia-384
使用了推荐驱动的可以不用重新安装驱动,去下载对应的cuda即可

若是没有安装驱动:
我按照网上其他人的安装方法来,直接导致炸机了。
方法一、正常方法是去英伟达官网下载对应版本的驱动
http://www.nvidia.com/Download/index.aspx?lang=en-us

注意驱动安装包最好放在HOME目录
终端输入sudo gedit /etc/modprobe.d/blacklist.conf
后在最后一行加上 blacklist nouveau将Ubuntu自带的显卡驱动加入黑名单

在终端输入: sudo update-initramfs -u更新一下
重启电脑
没有驱动开机可能直接报错,此时不要慌Ctrl+Alt+F1进入终端界面

sudo service lightdm stop 关闭图形界面
sudo chmod +x NVIDIA-Linux-x86_64-375.20.run 使得驱动有执行权限
sudo ./NVIDIA-Linux-x86_64-375.20.run 运行驱动程序

一步步按指示来,安装成功后重启。
方法二、按方法一来的炸机的只能重装驱动了,不要慌,按Ctrl+Alt+F1进入文字界面。

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-384 #此处要根据上面查询到的版本适当更改
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

之后重启应该就没问题啦

##下载cuda8.0

在官网https://developer.nvidia.com/cuda-downloads找到cuda8.0下载。
嫌麻烦的直接在我百度云下载吧https://pan.baidu.com/s/11v8nqXWZUSVB8K1aqT01lw
运行sudo chmod +x cuda_8.0.44_linux.run
sudo ./cuda_8.0.44_linux.run
之后就是一系列的选择,在选择驱动时选否,其他都选是就行了。
然后设置cuda环境变量

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 //使配置生效

验证cuda是否安装成功

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

出现这个就代表安装成功啦。

##安装cudnn
https://developer.nvidia.com/rdp/cudnn-download到官网下载,对应cuda版本的Linux的cudnn压缩包。
官网下载 cudnn 需要注册帐号并登录
嫌麻烦的https://download.csdn.net/download/tianjiazhao/10506832从我的csdn下载也行,嘿嘿
讲压缩包解压,两个文件夹。

在cudn/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.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接

验证是否成功 输入nvcc-V

显示如图则成功。

##安装opencv3.4

sudo apt-get update 先更新一下
1.安装build-essential、cmake、git和pkg-config工具
sudo apt-get install build-essential cmake git pkg-config

2.安装所需要的各种图像包:
sudo apt-get install libjpeg8-dev (jpeg图像包)
sudo apt-get install libtiff5-dev (tif图像包)
sudo apt-get install libjasper-dev (JPEG-2000图像包)
sudo apt-get install libpng12-dev (png图像包)
3.视频所需要的的包:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
4.安装gtk2.0:
sudo apt-get install libgtk2.0-dev
5.优化包的安装:
sudo apt-get install libatlas-base-dev gfortran

到这一步各种工具包就安装成功啦。
https://github.com/opencv/opencv/releases到这个网站去下载opencv源码tar.gz格式的,感觉安装比较快。
下载完之后解压
1.cd ~ 移动到解压的opencv目录
2.建立一个build文件夹
mkdir build
3.cd build 进入build文件夹
4.安装到 /urs/local

开启cuda:

 cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_CUDA=ON \ -D WITH_CUBLAS=ON \ -D CUDA_FAST_MATH=ON \ -D WITH_CUFFT=ON \  -D WITH_NVCUVID=ON \ -DWITH_V4L=ON \ -D WITH_LIBV4L=ON \ -D WITH_OPENGL=ON \  -DWITH_FFMPEG=ON \ -D INSTALL_C_EXAMPLES=ON \  -D BUILD_EXAMPLES=ON  ..

不开启

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local ..

5.开始编译:

sudo make //等待一会 可以使用 sudo make -j4 加快速度不过我使用的时候系统总是崩溃

sudo make install //这个过程可能要数个小时

sudo gedit /etc/ld.so.conf.d/opencv.conf
添加/usr/local/lib
sudo ldconfig   //更新一下链接库sudo gedit /etc/bash.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH  source /etc/bash.bashrc

到此opencv就正式安装完毕!

pkg-config --modversion opencv 查看版本

可以写个代码测试一下

建立一个test.cpp


#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main(){Mat img=imread("1.jpg");imshow("test",img);waitKey(0);return 0;}

建立一个CMakeLists.txt写入

cmake_minimum_required(VERSION 2.8)
project( test)
find_package( OpenCV REQUIRED )
add_executable( test test.cpp )
target_link_libraries( test${OpenCV_LIBS} )

在这个文件目录下放一个名为1.jpg的图片

cd 到这个文件夹

cmake .

make

./test

若输出图像则配置正确

##安装Anaconda

https://www.continuum.io/downloads去官网下载对应python版本的
嫌麻烦从我百度云下https://pan.baidu.com/s/1S2VZXl3SVn0mso0U2QSuBQ

sudo chmod +x Anaconda3-4.2.0-Linux-x86_64.sh
./Anaconda3-4.2.0-Linux-x86_64.sh
一路按提示过去,最后会提示你是否加入环境变量中,记得选择是,默认的是否,仔细看清!

##重头戏caffe的安装

git clone https://github.com/BVLC/caffe.git

若是git速度太慢,就只能翻墙去下了,
可以参考https://blog.csdn.net/tianjiazhao/article/details/80841385

sudo cp Makefile.config.example Makefile.config

复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。

sudo gedit Makefile.config

按照自己的需求去更改makefile.config和makefile,不懂makefile的小伙伴就很伤啦。
首先cudnn前注释去掉

USE_OPENCV注释去掉

这个注释也去掉



修改anaconda——python路径

注意要将python2的路径注释掉。
然后makefile.config就修改完啦,接下来修改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_serial \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
将
#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!

sudo make all -j8多线程编译,报错就改为sudo make all
编译的时候可能会出很多错误,出错误了去google一个个查找看看,不要一失败就重装系统!
成功之后sudo make runtest -j8

出现这个即为成功。
##然后编译Python接口
sudo make pycaffe -j8

python

import caffe

报错1:python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: 没有那个文件或目录
去下载numpy库

报错2:File “<stadin>”, line 1, in ImportError: No module named caffe

sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrcsource ~/.bashrc

将caffe填入环境变量中

报错3:ImportError: No module named ‘google’ ·

conda install protobuf==3.2.0(为什么安装3.2.0呢,因为和后面tensroflow的1.2.0相配不会出问题)

报错4:/usr/lib/x86_64-linux-gnu/libboost_python.so:对‘PyUnicode_InternFromString’未定义的引用 collect2: error: ld returned 1 exit status Makefile:632: recipe for target ‘.build_release/examples/mnist/convert_mnist_data.bin’ failed
这时候去查查makefile.config的设置有没有问题

出现下图即为正确。

更新:2018.10
Anaconda python3.6.5
报错:
/usr/bin/ld: 找不到 -lboost_python3

cd /usr/lib/x86_64-linux-gnu/
sudo ln -s libboost_python-py35.so libboost_python3.so

报错:
libcudart.so.8.0: cannot open shared object file: No such file or directory

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig

报错:
libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

sudo cp /home/tianjiazhao/anaconda3/lib/libpython3.6m.so.1.0 /usr/local/lib/libpython3.6m.so.1.0 && sudo ldconfig

报错:
libcublas.so.8.0: cannot open shared object file: No such file or directory

sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig

报错:
libcurand.so.8.0: cannot open shared object file: No such file or directory

sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig

报错:
libcudnn.so.5: cannot open shared object file: No such file or directory
报错:
warning! HDF5 library version mismatched error
The HDF5 header files used to compile this application do not match

Headers are 1.10.2, library is 1.8.16
首先卸载hdf5
conda uninstall hdf5
然后下载1.8.16版本即可
conda install hdf5=1.8.16

同时安装tensorflow:

conda create -n tensorflow python=3.6source activate tensorflow
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.0-cp36-cp36m-linux_x86_64.whl注意:cuda8.0 cudnn5.0搭配tehsroflow1.2.0使用

Pytorch安装

①官网下载 torch-0.4.0-cp36-cp36m-linux_x86_64.whl

pip install torch-0.4.0-cp36-cp36m-linux_x86_64.whl
pip install torchvision

配置pycharm

报错:ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory不知道为什么设置cuda环境变量一直不起作用。
解决方法:
pycharm菜单 Run->Edit Configurations

设置如下:

/**********************************************************************************/
错误集锦:
2019-01-10 18:51:05.999013: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2019-01-10 18:51:05.999040: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2019-01-10 18:51:05.999048: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
处理方法:sudo rm -rf .nv/ (.nv为在home目录下的隐藏文件)

Ubuntu16.04安装caffe教程(同时安装tensorflow与Pytorch)相关推荐

  1. windows10+ubuntu16.04双系统安装教程--UEFI安装方法

    本人github其他资料地址:https://github.com/Bubble-water/deeplearning 一.ubuntu 1.1.ubuntu系统镜像链接 1.2.刻录ubuntu系统 ...

  2. Ubuntu16.04下caffe CPU版的详细安装步骤

    一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...

  3. ubuntu16.04+Tesla P100+cuda+anaconda+cudnn+tensorflow:从0开始安装

    笔者的实验室新配置了一台服务器,计划进行深度学习的相关研究.研究第一步自然是进行环境配置,这一步历经了千辛万苦,最终再踩了一万个坑之后配置成功. 服务器配置: 本篇文章主要分为以下内容: 1. ubu ...

  4. Ubuntu16.04 Flash Player播放插件安装

    Ubuntu16.04 Flash Player播放插件安装 ## Ubuntu16.04 Flash Player播放插件安装 记录在学习过程中的遇到的困难 ## Ubuntu16.04 Flash ...

  5. Windows/Ubuntu16.04双系统和ros安装方法及可能出现的问题

    Windows/Ubuntu16.04双系统和ros安装方法及可能出现的问题 双系统安装(Ubuntu16.04) 正常安装步骤 可能会遇到的问题 ros安装 安装步骤 测试ROS是否安装成功 ros ...

  6. Docker在Ubuntu16.04和Windows10家庭版上安装操作步骤

    之前在 https://blog.csdn.net/fengbingchun/article/details/109559500 中对Docker作了简单的介绍,这里介绍下Docker在Ubuntu1 ...

  7. ubuntu16.04在英文状态下安装中文语言包的过程(法一:图形界面的方式) 以及 安装中文语言包后无法选择汉语问题的解决

    ubuntu16.04在英文状态下安装中文语言包的过程(法一:图形界面的方式) 以及 安装中文语言包后无法选择汉语问题的解决 参考文章: (1)ubuntu16.04在英文状态下安装中文语言包的过程( ...

  8. python3.8.3下载不了nltk_在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法...

    在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...

  9. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  10. Ubuntu16.04下ROS Kinetic的安装(2022)

    文章目录 Ubuntu16.04下ROS Kinetic的安装(2022) 一.Ubuntu16.04配置 二.ROS Kinetic安装过程 1.软件中心配置 2.ROS的下载安装 2.1添加源和密 ...

最新文章

  1. 从AlexNet到BERT:深度学习中那些最重要idea的最简单回顾
  2. [Bootstrap]组件(三)
  3. IOS多线程任务(综述篇)
  4. 【机器学习】监督学习--(分类)决策树①
  5. 三星Galaxy Note 10系列价格曝光:顶配售价要破万
  6. 【恋上数据结构】串匹配算法(蛮力匹配、KMP【重点】、Boyer-Moore、Karp-Rabin、Sunday)
  7. VC知识库1-54期合订本索引文件
  8. 递归下降分析程序 java_递归下降语法分析程序
  9. 制作钓鱼网站进行渗透测试——内网SET工具包
  10. 笔记本不显示计算机图标,笔记本电脑开机后不显示桌面图标或任务栏怎么解决...
  11. arm linux 掉电检测,如何实现单片机掉电检测与数据掉电保存?-嵌入式系统-与非网...
  12. 北大公开课计算机,清华、北大、浙大的计算机课程资源集都在这里了
  13. 如何查询期刊的中科院分区
  14. 海淘转运攻略之2017年黑色星期五海淘转运公司对比推荐
  15. Simple Calculator 1.0(有声计算器)
  16. 《重新理解创业》的读后感范文3000字
  17. XGBOOST + LR 模型融合 python 代码
  18. 群晖监控备份方案,为金融企业信息安全保驾护航
  19. 如果诸葛亮用C#写出师表...
  20. 论文翻译 《Self-supervised Learning of LiDAR Odometry for Robotic Applications》

热门文章

  1. 搭建接口自动化测试框架详细过程
  2. nodejs实现定时爬取微博热搜
  3. 【钉钉机器人 + 爬虫 + celery】定时发送微博热搜 + 定时发布财经新闻
  4. CentOS7入门:使用Vi文本编辑器
  5. 用花生壳搭建个人简易静态网站
  6. 大量HW红队+蓝队文档下载-定期更新
  7. 计算机维护系统Win8PE,U盘启动计算机维护系统
  8. jvisualvm安装插件出现网络问题
  9. 十个免费的 Web 压力测试工具
  10. 百度SEO站群爱客影院v3.5自动采集影视网站源码