Ubuntu-TensorFlow-GPU config

本文详细介绍了在Ubuntu 17.04上安装TensorFlow-GPU的步骤,包括检查GCC版本、安装CUDA 9.0、配置环境变量、安装cuDNN v7.0以及使用Virtualenv搭建TensorFlow-GPU环境。特别强调了CUDA版本与TensorFlow的匹配性以及安装过程中可能遇到的问题和解决方案。

系统说明:

CUDA9.0要求GCC版本是5.x或者6.x,其他版本不可以,需要自己进行配置,通过以下命令才对GCC版本进行修改。

特别提醒:重启大法好!

# method 1:
sudo reboot

# method 2:
sudo shutdown -r now

前置提示

  • 更改更新包的镜像地址位置,选中让系统帮忙最佳服务器,一般选择中科大,清华,网易,阿里云。

  • 为了使用远程shell登录,需要安装ssh.

sudo apt-get install openssh-server

# 提示未找到包,则:
sudo apt-get update
sudo apt-get install openssh-server

# 启动.
service ssh start

GCC的版本核对问题.

版本安装:

# 事先可以先查看版本的问题,ubuntu查看方式为:program_name --version/-v
# 安装对应的gcc版本.
sudo apt-get install gcc-6
sudo apt-get install g++-6

通过命令替换掉之前的版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 60

安装CUDA® Toolkit 9.0

CUDA9.0下载地址:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

注意,一定是要是CUDA9.0而不是CUDA9.1,否则tensorflow运行时会报错-提示框架不支持问题!

提示:因为没有ubuntu18.04版本,所以先使用16.04版本,本文用的是17.04。

安装.

方法一:

在github上对应的安装方式,有人推荐使用这种方式安装。

  • 使用deb文件安装,切换到下载文件目录,执行:
    sudo dpkg -i sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
    sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
    sudo apt-get update
    sudo apt-get install cuda
    
  • 安装错误提示:
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    The following packages have unmet dependencies:
     cuda : Depends: cuda-9-0 (>= 9.0.176) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.
    
  • 解决问题方式:
    # 卸载驱动.
    sudo apt purge nvidia*
    
    # 重新安装驱动,若是没有添加库,提示无法找到包.
    sudo apt install nvidia-390
    
    # 则需要执行以下两条再继续执行.
    sudo add-apt-repository ppa:graphics-drivers/ppa
    sudo apt-get update
    sudo apt install nvidia-390
    
    # 由于源服务器国外,所以存在可能包传送丢失.
    sudo apt-get update --fix-missing	
    

此时正常情况是可以安装成功的!

方法二的安装方式:

配置.

  • 在CUDA完成安装之后,还需要添加环境变量,打开终端,输入下面的命令:

    export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    
    # if x64 system.
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
    # else x86 system.
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  • 配置文件位置

    # 打开文件.
    sudo vi ~/.bashrc
    # 文件的末尾添加如下:
    
    exportPATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
    exportLD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  • 手动配置的需要通过该方式刷新.

    # 刷新.
    source ~/.bashrc
    
    # 刷新.
    sudo reboot
    

上述过程完成了整个的CUDA9.0的安装.

安装cuDNN v7.0.

**cuDNN v7.0.**下载地址:https://developer.nvidia.com/cudnn

  • 第一种下载库的安装方式为:

    
    # 文件为cudnn-9.0-linux-x64-v7.tgz
    
    # 解压
    tar zxvf cudnn-9.0-linux-x64-v7.tgz
    
    # home的文件目录结构.
    gmxy@PC-GMXY:~$ tree
    .
    ├── 00.txt
    ├── cuda
    │   ├── include
    │   │   └── cudnn.h
    │   ├── lib64
    │   │   ├── libcudnn.so -> libcudnn.so.7
    │   │   ├── libcudnn.so.7 -> libcudnn.so.7.0.5
    │   │   ├── libcudnn.so.7.0.5
    │   │   └── libcudnn_static.a
    │   └── NVIDIA_SLA_cuDNN_Support.txt
    ├── Desktop
    ├── Documents
    ├── Downloads
    │   ├── cuda-repo-ubuntu1704-9-0-176-local-patch-4_1.0-1_amd64.deb
    │   ├── cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
    │   ├── cuda-repo-ubuntu1704-9-0-local-cublas-performance-update_1.0-1_amd64.deb
    │   ├── cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
    │   ├── cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb
    │   └── cudnn-9.0-linux-x64-v7.tgz
    ├── examples.desktop
    ├── Music
    ├── Pictures
    ├── Public
    ├── Templates
    └── Videos
    
    11 directories, 14 files
    gmxy@PC-GMXY:~$ 
    
    
    # 安装方式为:
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include
    sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    
  • 后一种打包好的库的安装方式为:

    # 切换到下载目录,如:Downloads,在这里打开终端,之后输入以下命令:
    
    cd ~/Downloads
    sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb
    

注意,命令能会由于cudnn版本的细微差异而不同,直接输入前面几个字母再使用tab键补全即可。之后等待完成cuDNN的安装…

安装Tensorflow-GPU版本

在这里,我们使用Google官方推荐的安装方式:Virtualenv,创建一个虚拟Python开发环境。

原文地址为:https://www.tensorflow.org/install/pip

安装pip和Virtualenv

# 打开终端执行-python2:
sudo apt-get install python-pip python-dev python-virtualenv
virtualenv --system-site-packages ~/tensorflow-gpu

# or 打开终端执行-python3:
sudo apt-get install python3-pip python3-dev python-virtualenv
virtualenv --system-site-packages -p python3 ~/tensorflow-gpu

此时ubuntu的home目录下产生一个tensorflow文件夹.

  • 启用创建的虚拟环境
# bash, sh, ksh, zsh.
source ~/tensorflow-gpu/bin/activate
#  csh,tcsh.
source ~/tensorflow-gpu/bin/activate.csh

一般ubuntu使用的是sh,所以使用第一个执行环境。
提示:若是使用python2.7,在运行中提示python2.7的pip不再支持更新,但是还是可以使用的,python3则不受此影响。

# 更新pip命令行.
easy_install -U pip
  • 安装TensorFlow-gpu环境

使用默认位置安装,没有科学上网可能会失败.

# Python2
pip install --upgrade tensorflow-gpu

# python3
pip3 install --upgrade tensorflow-gpu

使用国内镜像安装.

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.5
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.5

# 提示,为什么需要添加强制版本了?是为了避免该问题...
 illegal instruction(core dump)
# 该问题在git上有说明,原因是:tensorflow-gpu1.6版本以后因为使用了新的cpu指令集构建二进制,老式CPU不支持AVX指令集,因此会报该错误,解决方法是降低TensorFlow的版本。
  • 使用环境激活
# activate.
source ~/tensorflow-gpu/bin/activate

#deactivate.
deactivate

总结

可能存在的问题:

  • 在安装TensorFlow时候未使用指定的框架,会提示框架的不匹配无法使用等问题…

  • ubuntu使用的使用在import tensorflow as tf提示无法找到tensorflow模块,可能是安装的TensorFlow的python环境不是我们使用的python环境问题…

  • 导入模块正常,但是会缺少一些必要的组件,比如提示scipy模块无法导入的问题,解决方法。


# 手动安装scipy...
pip3 install scipy

# 速度过慢可以将链接的地址复制出来使用迅雷下载,再利用SecureCRT的FTP文件传输过去即可.再执行如下....

pip3 install ./*****.deb

  • 其他问题有无法导入一切包,可能是tensorflow-gpu环境被使用,且不是后台运行,退出环境or重启电脑即可解决该问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值