ubuntu18.04+CUDA 9.0+CUDNN7.4+ananconda+tensorflow-gpu1.8+keral-gpu

以下是我安装ananconda+tensorflow-gpu1.8+keral-gpu的方法,过程较为复杂,走了不少弯路,但最后成功了,浪费了不少时间。

安装完之后,在网上看到这样一篇文章https://blog.csdn.net/weixin_39954229/article/details/79961172

告诉我安装ananconda+tensorflow-gpu不需要事先安装CUDA 和CUDNN ,真是欲哭无泪……。但是该方法我没有尝试,大家可以去尝试。

以下全当是我复杂安装历程的记录吧,如果大家用的着的话,可以参考。

目录

          一、安装CUDA 9.0工具箱

      1、卸载之前安装的NVIDIA 驱动和CUDA 工具箱----------------如果有的话

      2、禁用nouveau驱动

      3、降级gcc

      4、验证系统已经安装了正确的 kernel headers 和开发包

      5、下载NVIDIA  CUDA 9.0 工具包并安装

二、安装CUDNN 7.4

三.安装Anaconda

四、安装tensorflow-gpu

五、在anaconda环境下安装gpu版本的keras

六、参考文献:


一、安装CUDA 9.0工具箱

安装前的准备工作:

1、卸载之前安装的NVIDIA 驱动和CUDA 工具箱----------------如果有的话

卸载CUDA 工具箱:

$ sudo apt-get --purge remove "*cublas*" "cuda*"

卸载NVIDIA 驱动器:

(1)使用apt方法安装的驱动卸载:

$ sudo apt-get --purge remove "*nvidia*"

(2)使用.run文件安装的驱动卸载:

          比如卸载之前安装的 NVIDIA-Linux-x86_64-384.59.run 驱动

$ sudo chmod +x *.run  
$ sudo ./NVIDIA-Linux-x86_64-384.59.run --uninstall

2、禁用nouveau驱动

$ sudo gedit /etc/modprobe.d/blacklist.conf

在末尾添加:

blacklist nouveau

然后执行:

$ sudo update-initramfs -u

重启后执行:

$ lsmod | grep nouveau

如果没有屏幕输出,说明禁用nouveau成功

3、降级gcc

由于Cuda-9.0只支持gcc-6.0以下的版本,而Ubuntu18.04系统默认安装的gcc-7.3版本(可以在终端输入gcc --version查看系统安装的gcc版本),所以首先需要降级为gcc-5版本。

  • 首先需要安装gcc-5

在终端输入:

sudo apt install gcc-5
sudo apt install g++-5
  • 链接至gcc-5版本

在终端输入:

cd /usr/bin
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-5 gcc
sudo mv g++ g++.bak
sudo ln -s g++-5 g++

通过gcc --version查看系统的gcc版本是否已更改

4、验证系统已经安装了正确的 kernel headers 和开发包

查看您的Linux系统目前正在运行的内核(Kernel)版本

$ uname -r

 安装同系统内核版本一致的kernel headers 和开发包

$ sudo apt-get install linux-headers-$(uname -r)

5、下载NVIDIA  CUDA 9.0 工具包

5-1官网下载cuda-9.0的deb安装包文件, cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb四个补丁文件

Step1:切换到下载好的文件目录,并安装meta-data

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb

Step2: 安装CUDA的GPG Public Key

$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub

Step3:更新APT源

$ sudo apt-get update

Step4:安装CUDA

$ sudo apt-get install cuda

Step5:安装补丁

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update_1.0-1_amd64.deb 

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb 

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb 

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-176-local-patch-4_1.0-1_amd64.deb

5-2 、设置环境变量

在 ~/.bashrc中设置环境变量:

$ gedit ~/.bashrc

打开.bashrc文件,在文件末尾添加:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 

export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} 

export CUDA_HOME=/usr/local/cuda

运行如下命令使得环境变量生效:

$ source ~/.bashrc

测试环境变量是否生效,可以运行一下nvidia的查看CUDA版本的命令:

$ nvcc --version

测试CUDA:

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

sudo make

./deviceQuery


cd ../bandwidthTest

sudo make

./bandwidthTest

如果测试成功,则结果显示为:

Result = PASS

二、安装CUDNN 7.4

注册NVIDIA并下载cuDNN包:https://developer.nvidia.com/rdp/cudnn-archive

下载 cuDNN Runtime Library for Ubuntu16.04 (Deb);

        cuDNN Developer Library for Ubuntu16.04 (Deb);

        cuDNN Code Samples and User Guide for Ubuntu16.04 (Deb)

下载的包如下面安装命令所示:

$ sudo dpkg -i libcudnn7_7.4.2.24-1+cuda9.0_amd64.deb

$ sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda9.0_amd64.deb

$ sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda9.0_amd64.deb

测试cuDNN:

cd /usr/src/cudnn_samples_v7/mnistCUDNN

sudo make clean

sudo make

./mnistCUDNN

看到Test passed即可。

三.安装Anaconda

进入anaconda安装包所在目录,打开终端,根据版本输入安装命令:

$ bash Anaconda3-5.2.0-Linux-x86_64.sh

回车后,是许可文件,接收许可,anaconda将安装在~/anaconda目录下,直接回车就好。

最后会询问是否把anacondabin添加到用户的环境变量中,选择yes

安装成功以后,在终端输入

source ~/.bashrc

.bashrc中添加的路径生效。

检查是否安装成功:

终端执行:conda list

若提示命令无法找到,则请手动完成环境变量的修改:

  • 首先打开环境变量的文件

    gedit ~/.bashrc
    
  • 然后在文件末尾加入 anaconda3 的路径

    export PATH=/home/你的路径/anaconda3/bin:$PATH
    
  • 最后使我们的改动生效

    source ~/.bashrc
    

这样,我们在terminal中输入python就会默认打开anaconda3里默认的python了。

四、安装tensorflow-gpu

1.创建python-3.6版本的tensorflow环境

conda create -n tensorflow-gpu python=3.6

2.激活tensorflow环境

source activate tensorflow-gpu

3.通过pip安装gpu版的tensorflow-gpu

pip install tensorflow-gpu==1.8.0

4.测试tensorflow-gpu是否安装成功

终端激活tensorflow-gpu环境

$ source activate tensorflow-gpu
$ python

 

接着输入:

import tensorflow as tf
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))

若成功运行Gpu则在终端会有相应的gpu提示提示,例如:/gpu: 0 如下图:

 

五、在anaconda环境下安装gpu版本的keras

终端输入

conda install keras-gpu

测试anaconda环境下的keras是否安装成功

终端输入:

python
import keras

如果显示:

出现Using Tensorflow  backend,则说明安装成功。

注:如果在tensorflow环境下的spyder中输入

import keras

显示 “ ModuleNotFoundError: No module named 'keras”,则需要预先激活tensorflow 环境,然后再利用conda 安装keras。

三、tensorflow环境下安装spyder

Spyder 是Anaconda自带的集成开发环境(IDE),可以在Spyder中进行tensorflow的开发。

1)在终端中激活tensorflow环境

source activate tensorflow

2)在tensorflow环境下输入下列指令安装spyder

conda install spyder

3)测试tensorflow环境下的spyder是否安装成功

终端输入

spyder

打开spyder集成开发环境,界面如下:

Ipython console 中输入

import tensorflow as tf

如果没有提示 “ ModuleNotFoundError: No module named 'tensorflow”,则说明tensorflow环境下的spyder安装成功,接下来就可以在Spyder中进行tensorflow的开发。

六、参考文献:

https://www.jianshu.com/p/288c536a1092

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#pre-installation-actions

https://blog.csdn.net/youngping/article/details/84207234#CUDA90_148

https://blog.csdn.net/ShellDawn/article/details/80274534

https://blog.csdn.net/JOKER_Or/article/details/80333253#%E5%AE%89%E8%A3%85tensorflow

https://blog.csdn.net/qq_33039859/article/details/77412781

猜你喜欢

转载自blog.csdn.net/dyh123321dyh/article/details/88574215