显卡驱动安装
在终端运行查看本机NVIDIA显卡型号和推荐的驱动程序模型
ubuntu-drivers devices
显卡是:GeForce GTX 1080 TI ,建议安装的显卡驱动时nvidia-drivers-396,
再次输入
sudo ubuntu-drivers autoinstall
安装完成后重启电脑即可
安装验证:
nvidia-smi
CUDA安装:
1.版本下载
CUDA需要根据cuDNN来选择,之前cuda只支持Ubuntu 17.04 \ 16.04 \ 14.04 版本下的安装(目前已经有ubuntu18.04下的cuda-10.0,但是已经尝试过,失败,其他人可以试试),但实际上类似于word,高版本支持低版本,故ubuntu16.04下的配置版本可以顺利应用到ubuntu18.04,从而ubuntu18.04可以支持cuda9.0,,因此我们采用cuda9.1版本
cuda下载地址:https://developer.nvidia.com/cuda-toolkit-archive
最新版本已经到cuda10,cuda9版本到了cuda9.2,我们此次下cuda9.1
点击 CUDA Toolkit 9.1[Dec 2017]
出现如下选择项:
做出如上选择,出来如下四个下载项,四个下载项均需要下载,第一个是主文件,后三个是补丁
下载文件如下:
2.gcc降级(Ubuntu预装的gcc版本为7.3,CUDA9.0仅支持gcc6.0以下的版本,故需要将gcc版本降级)
终端输入:
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
装完后进入:
cd /usr/bin #进入bin目录下
终端输入 :
ls -l gcc*
发现 gcc -> gcc-4.8 因为之前做了更改,故已经链接到了gcc-4.8,若出现gcc -> gcc-7.3 则执行如下命令
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
同理在/usr/bin目录下输入
ls -l g++*
此时需要更改使得g++链接到g++-4.8
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
检查gcc、g++版本号,看是否链接成功
终端输入:
gcc -v #查看gcc版本
g++ -v #查看g++版本
版本均是gcc version 4.8,故gcc4.8链接成功,安装成功
3.CUDA安装,同时安装其补丁
- 在cuda下载目录下运行终端输入命令安装Base Installer
sudo sh cuda_9.1.85_387.26_linux.run
一直按空格键直到100%
如下几个选项选择如下:
说明: 由于前面已经安装了显卡驱动,故在
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 387.26?
(y)es/(n)o/(q)uit: n
选择: n
注意:在之前的的安装过程中经常出现如下
之前下载的时cuda-8.0和cuda-10.0,安装到这一步总是不成功,因此在安装此步的时候一定要注意版本一直等因素,要不然会一直不成功,建议不要轻易尝试cuda-10.0版本,因为他要求显卡驱动>=410版本的,故最好安装cuda9版本的。
此次安装成功:
- 接下来安装3个patch
- 安装:cuda_9.1.85.1_linux.run
sudo sh cuda_9.1.85.1_linux.run
同理也是空格到100%
-
安装 cuda_9.1.85.2_linux.run
sudo sh cuda_9.1.85.2_linux.run
同理也是空格到100%
-
安装 cuda_9.1.85.3_linux.run
sudo sh cuda_9.1.85.3_linux.run
同理也是空格到100%
-
打开.bashrc文件
sudo gedit ~/.bashrc
打开如下;
在文件最后输入:
export PATH=/usr/local/cuda-9.1/bin${PATH:+:$PATH}} #注意,根据自己的版本,修改cuda-10.0/9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#注意,根据自己的版本,修改cuda-10.0/9.2/9.0...
到此步骤,cuda安装完毕
cuDNN安装:
需要注册下载
文件保存到下载目录,对文件进行解压得到
- 复制cudnn解压后的文件中的cuda中的include、lib64 到cuda-9.1下
sudo cp cuda/include/cudnn.h /usr/local/cuda-9.1/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.1/lib64
sudo chmod a+r /usr/local/cuda-9.1/include/cudnn.h /usr/local/cuda-9.1/lib64/libcudnn*
- 配置环境变量
桌面终端输入;
sudo gedit ~/.bashrc
得到如下界面,在最后加入:
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda-9.1/lib64:/usr/local/cuda-9.1/extras/CUPTI/lib64”
export CUDA_HOME=/usr/local/cuda-9.1
export PATH="$CUDA_HOME/bin:$PATH"
点击保存后退出,再在终端执行:
source ~/.bashrc
从而配置完毕。
Anaconda3安装
首先下载Anaconda3:https://www.anaconda.com/download/
我们下载的是Anaconda3-5.2.0-Linux-x86_64
输入:
bash Anaconda3-5.2.0-Linux-x86_64.sh
按enter键继续
一直按空格到出现选项,
输入:yes
按 enter键
按enter键
接下来 输入 yes
当看到Thank you for installing Anaconda3! 说明安装成功,后面还会问是否继续安装Microsoft VSCode,我们准备用pycharm,故选择no。
安装完之后 检验是否安装成功
终端执行:
source ~/.bashrc
conda list
执行结果如下:
命令成功找到,安装成功
安装tensorflow(GPU)
- 创建tensorflow环境
先检查现有的Python版本
接着创建tensorflow环境
conda create -n tensorflow python=3.6
出现如下需要安装的列表:
输入y进行下载。
- 激活tensorflow环境
source activate tensorflow
- 安装tensorflow
此处要使用pip3进行安装,这是python3对应的,若之前没有安装pip3,则使用
sudo apt-get install python3-pip
然后进行tensorflow的安装,注意我们是安装的 tensorflow(GPU)版本
pip3 install tensorflow-gpu==1.8.0
验证安装是否成功
在命令行输入python进入python编译环境下,接下来居然遇到坑比的事情,测试代码错误,cuda9.1不支持tensorflow1.8,网上说也不支持1.6\1.5,
输入: import tensorflow as tf
因此需要卸载tensorflow重新安装,还好mind/wheels是tiny mind开发的为Linux准备的特殊版本的tensorflow,包含支持CUDA9.1的tensorflow。
卸载tensorflow1.8
sudo pip3 uninstall tensorflow-gpu
接下来下载tensorflow-1.6的wl安装文件
下载地址:https://github.com/mind/wheels/releases/tag/tf1.6-gpu-cuda91
--——————————————————————————————————————————————————————
接下来就再次在Anaconda下配置tensorflow了,但是有遇到了新的麻烦,真想说句妈卖批
首先我是这样配置的直接在tensorflow下载的目录下,终端运行:
sudo pip3 install tensorflow-1.6.0-cp36-cp36m-linux_x86_64.whl
提示安装成功,然后我在tensorflow激活的状态下启动python
source activate tensorflow #激活tensorflow环境
python #启动python环境
接下来进行tensorflow安装是否成功的验证,
#测试代码(在终端一步步执行)
‘’‘
编写hello world程序掩饰session的使用
建立一个session,在session中输出hello TensorFlow
’‘’
import tensorflow as tf
#定义一个常量
hello = tf.constant('hello,tensorflow')
#构造阶段完成后,才能启动图,启动图的第一步是创建一个Session对象,如果无任何创建函数,会话构造器将启动默认图
sess = tf.Session()
#通过session里面的run()函数来运行结果
print(sess.run(hello))
当输入第一步时出现:
问题: ModuleNotFoundError: No module named 'tensorflow'
网上的解决方法都试了不可以用,因此再次卸载tensorflow,卸载之后检查目前所存在的内容
which python
which pip
python
python3
接下来在tensorflow激活环境下进行安装,这次使用pip,而pip3,然后出现了如下问题,也正是此处,解决了所有问题,
首先没有在下载目录下安装,这个显然是错误的,但这个不影响其他的,后期换成在下载目录下安装即可,最重要的是这两句:
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
您正在使用PIP版本100.1,但是版本18是可用的。
您应该考虑通过“PIP安装升级PIP”命令进行升级。
然后就将pip升级了
pip install --upgrade pip
接下来再次尝试tensorflow的安装,在wl文件所在的目录下运行终端输入(再次使用pip,之前一直使用的时pip3)
pip install tensorflow-1.6.0-cp36-cp36m-linux_x86_64.whl
提示我们安装成功;
然后再次进行代码测试,
验证成功