配置:显卡GTX980M,64bit,安装方式:
Anaconda+Tensorflor-GPU
+手动安装对应版本的cuda
,使用过程中出现cudnn版本问题,按照提示安装对应的cudnn版本- 手动编译源码支持自己硬件的所有能支持的环境。
方法1:最简单的安装方式
该方法简单,但是后续升级麻烦,而且cudnn
,cuda版本升级
也非常麻烦而且通常不支持TensorRT
安装Anaconda3-4.4.0-Linux-x86_64.sh
- 下载Anaconda3-4.4.0-Linux-x86_64.sh
- 安装Anaconda。
bash Anaconda3-4.4.0-Linux-x86_64.sh
source ~/.bashrc
安装过程很简单一路回车,碰到Yes/No选择一律Yes。让环境变量立即生效。
conda安装tensorflow-gpu
- 启动终端输入
conda install tensorflow-gpu
安装完成后如下面带吗测试是否正确安装:
ipython
import tensorflow as tf
更新tensorflow的版本。
通常conda安装的版本并不是最新的,如果你想更新最新的tensorflow可以输入下面的命令:
pip install --upgrade tensorflow-gpu
如果没有任何提示表示安装成功,但是对于GPU版本通常会报错。
当提示缺少什么so文件的时候安装对应的cuda即可。当前通常都是大版本9或者10。此方法无法开启TensorFlow全部功能。
安装Cuda
-
下载CUDA。
下載地址 -
dpkg安裝CUDA
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
当前
不建议通过deb安装cuda
。原因在于当且在cuda的时候会很麻烦。我在后续支持Tensorflow更新版本的时候重新编译Tensorflow源码的时候Tensorflow对CUDA支持更高,于是且在cuda的时候很容易卸载一些其他和cuda相关的库导致无法进入图形界面。当然个问题现在很容易解决,但是对于linux小白还是不建议折腾,因为你对着网上教程找答案的时候网上那些东西都是别人复制粘贴来的,博主自己都不知道为什么这么弄,而且多半没有自己试验过所以经常看到修改什么grub的,改了这个出错了系统就很难进去了,修复起来非常麻烦。
- 强烈建议安装
.run
文件、强烈建议安装.run
、强烈建议安装.run
。 - 强烈建议安装
run
cuda文件的时候不安装显卡驱动,强烈建议不安装显卡驱动。原因是nvidia显卡驱动安装一般要傻吊桌面管理器,ubuntu16 unity
和ubuntu mate(16,18)测试
均为lightdm
,所以比较容易安装显卡驱动。这样更新显卡驱动的时候会很方便。如果你是用的是Ubuntu18,没有任何桌面版通常桌面环境是gnome3,桌面管理器一般是gdm3
。
安裝完成後即可,特別是需要有DKMS: install completed,因爲有一次在Centos下安裝DKMS就沒有安裝,導入Tensorflow就不會報錯了。
一段小代碼測試
import tensorflow as tf
a = tf.constant(5,name = 'v_a')
b = tf.constant(6,name = 'v_b')
c = tf.add(a,b,name = 'v_c')
with tf.Session().as_default():
print(c.eval())
至此安裝完成,如果你緊緊想寫一些簡單的tensorflow程序,至此已經結束,如果你需要加速運算需要安裝一個cudnn的加速計算庫。
安装CUDNN
下载对应的CUDNN
下载cudnn
解压cudnn
sudo tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz
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*
再次运行上面的程序
然而好像并没有什么区别!
方法2编译源码支持所有功能
这里假设你已经安装了(Ubuntu16或者18均可,但是切记安装对应版本的TensorRT
,cuDNN
,CUDA
):
- TensorRT
- cuDNN
- CUDA
- bazel
- protobuf
详细安装过程查看这里