您的位置:首页 > 运维架构

Ubuntu16.04+Nvidia Driver+Nvidia Cuda8.0+Cudnn7.0.5+tensorflow-gpu+opencv3.0.4

2018-01-30 18:35 288 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/dt529293249/article/details/79208686

第一步

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-essential

第二步

在设置里面安装 nvidia 驱动



然后重启。

完毕。

验证:在终端中输入nvidia-smi

出来一堆,成功安装nvidia driver

第三步

安装 cuda

1)官网

https://developer.nvidia.com/cuda-downloads(最新版cuda地址)

https://developer.nvidia.com/cuda-toolkit-archive(旧版 cuda 地址)

我下载的是.run 格式的

2)cd 到下载目录,然后sudo sh 下载的 cuda.run 运行

一堆回车然后accept,n,y,y,y(第一个 n 其他都是 y或者回车)

然后环境变量(终端下)

sudo gedit ~/.bashrc

打开后在末尾加上

exportPATH=/usr/local/cuda-8.0/bin:$PATH

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

保存

source ~/.bashrc

完毕。

验证:(命令行)

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery


最后是Result = PASS 就对了(一半)

然后命令行下 nvcc -V 出现当前 cuda 版本说明全对!


第四部安装 cudnn

官网https://developer.nvidia.com/rdp/cudnn-download

注意下载正确的包



然后终端 cd 到下载文件下

然后根据http://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#axzz4qYJp45J2

安装,简单说就是



sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb 按照这个格式安装刚才下的3个包
验证:命令行下
cp -r /usr/src/cudnn_samples_v7/ $HOME

cd  $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
Test passed!
若 test passed 就恭喜安装 cudnn 成功。

下一步安装 tensorlfow 

首先官网https://www.tensorflow.org/install/install_linux

然后

sudo apt-get install cuda-command-line-tools (没有我也不清楚我错在哪里)

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

sudo apt-get install python-pip python-dev
pip install tensorflow-gpu
然后 python
import tensorflow 果然不行 库没连接对
然后退出来

然后找到地方,连接下
sudo ln -s <path>libcudnn.so.7.* <path>libcudnn.so.6
前面的是自己的后面的他缺的。
最后 import 验证。

接着Opencv

首先环境

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install --assume-yes libopencv-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
 sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb

然后git

git clone https://github.com/opencv/opencv.git

cd opencv

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

修改/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp 文件

其中

//#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000) 

修改如上即可

回到build

make -j8

sudo make install

验证:

首先终端中:

pkg-config --modversion opencv 

出现opencv版本,成功一半

然后python 

import cv2

不抱错 ,恭喜,成功安装opencv

安装 caffe

首先 git

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

cd caffe 把他给的 example 复制

sudo cp Makefile.config.example Makefile.config

编辑

sudo gedit 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/serial

修改 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

然后修改 /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!

然后回到caffe 文件

make all -j8

然后出现了什么链接库 问题(libopencv_core.so.3.4: cannot open shared object file: No such file or directory)的

sudo vim /etc/ld.so.conf  

加入/usr/local/lib

sudo ldconfig  

然后 run 一下




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐