系统说明:
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而不是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
此时正常情况是可以安装成功的!
方法二的安装方式:
- 使用ppa库安装,我个人认为该方式是最合适的方式!PS:该链接由本人自己更新…
ppa安装方式:https://gist.github.com/SusuDOS/ebe09ae1ac844eb9777cea3d66b519bd - 该github安装链接错误: cudnn版本错误! https://gist.github.com/Mahedi-61/2a2f1579d4271717d421065168ce6a73
- 特别说明:此段之后无须再看之后文章内容!
配置.
-
在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重启电脑即可解决该问题!
本文详细介绍了在Ubuntu 17.04上安装TensorFlow-GPU的步骤,包括检查GCC版本、安装CUDA 9.0、配置环境变量、安装cuDNN v7.0以及使用Virtualenv搭建TensorFlow-GPU环境。特别强调了CUDA版本与TensorFlow的匹配性以及安装过程中可能遇到的问题和解决方案。
3670

被折叠的 条评论
为什么被折叠?



