tensorflow
写 gpu
程序和写 cpu
是一样的,你不需要额外在代码中做多余的操作,只需要写出一份代码,至于使用的是 cpu
还是 gpu
取决于你安装的是 tensorflow
还是 tensorflow-gpu
。
但是,如果你有多块 gpu
的话,想要使用一块 gpu
跑,还是需要写使用哪一块的代码,不写的话,自由分配,可能是多块 gpu
一起跑代码。
环境
- ubuntu 18.04
- python 3.6
- 1080ti && 2080ti
- cuda 10.2
- driver 440
cuda 和 cudnn 如何安装 gpu 版本
在 tensorflow 的官网上
需要
- cuda
- cudnn
但是,在现在我们可以使用 anaconda
或者 miniconda
来配置生产环境,如 cuda 和 cudnn 。
在之前我们安装应该是下面的路线:
GPU driver → CUDA Toolkit → cuDNN → Python → Tensorflow
但是,有了 anaconda
后,我们先安装的是
GPU driver
接着,我们安装相应的 tensorflow-gpu
版本。
conda install tensorflow-gpu==1.****
不推荐使用 pip
安装。
具体安装什么版本,可以查看
但是,我在实际安装过程中,是这样的顺序。
- 装
ubuntu
系统,然后在图形化界面中,自动安装gpu
驱动- 无论是
1080ti
还是2080ti
我安装的驱动都是440
- 如果
nvidia-smi
会发现,已经安装好cuda10.2
- 无论是
- 然后根据项目要求直接运行
conda install tensorflow-gpu=1.****
比如,我装的是 tensorflow-gpu=1.10.0
运行
conda list | grep tensorflow
出现
tensorflow 1.10.0
tensorflow-base 1.10.0
tensorlfow-gpu 1.10.0
然后执行
conda list | grep cuda
出现
cudatoolkit 9.2
cudnn 7.6.5
这里有一个疑问是,程序使用的是 10.2
的 cuda
还是 9.2
的 cuda
?
这里,我根据使用情况来判断的话,我认为在该虚拟环境中,我们使用的是 9.2
的 cuda
。
这也和官网上提供的版本相对应
版本 | Python 版本 | 编译器 | 构建工具 | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 | 7 | 9 |