安装
- tensorflow官网安装代码(最新版本不用指定GPU了,直接安装就可以,老版本根据官网介绍指定版本号安装即可,需要注意和python版本要对应起来)
pip install tensorflow
- 需要配套安装CUDA和cudnn
不同版本的tensorflow适配的CUDA和cudnn版本也不同,需要安装对应的版本。cudnn有点像CUDA的补丁,下载完之后把压缩包里的文件复制进CUDA对应的安装文件夹下,版本对应查看这里。 - 安装好后要配置环境变量,不然导入时会各种找不到.dll文件(可以参考这篇文章‘设置环境变量’部分)。如果配置完了环境变量还有些文件找不到,就手动找到这些文件,添加进C:\Windows\System文件夹下
- 这时候GPU应该已经可以调用了,通过以下代码查看是否配置成功。如果输出为true,说明GPU可以调用了;如果输出为false,就查看报错信息,看看是哪个文件没找到,回到第3步,该添加环境路径的就添加环境路径,该添加到System文件夹的就添加文件夹,弄完基本上就会True了。
import tensorflow as tf
tf.test.is_gpu_available()
- 补充一下,如果上面的测试显示True了,但是蹦出以下提示语句:
tensorflow: Not creating XLA devices, tf_xla_enable_xla_devices not set
可以通过以下代码解决。不过我目前还不知道设置了这个是干什么的,我是纯粹为了少看一个提示。
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
调用
使用GPU进行计算时,需要在程序开头添上这两行:
import os
os.environ["CUDA_VISIBLE_DEVICES"]="0"
如果电脑只有一块GPU,第二行就是=“0”,多块GPU可能能取别的值,我就没试过了。贴一篇多个GPU切换的参考文章。
释放GPU内存
用GPU计算完之后需要释放GPU内存,不然下次调用GPU时会报错。
from numba import cuda
cuda.select_device(0)
cuda.close()
numba需要先安装一下,我用pip安装总是报错,显示找不到满足llvmlite要求的版本,后来用conda安装就成功了。