cuda,cudnn,tensorflow安装之后调用tf.test.is_gpu_available()之后出现false的解决方案

这里一定要安装对应的cuda,cudnn,tensorflow版本,如果版本不匹配就极有可能报错。

cuda 10.0 cudnn7.4.2 tensorflow-gpu-2.0.0我这里用的是这一套版本安装之后是没有问题的。具体的安装cuda,cudnn操作如下网址

所有的安装完成之后,操作如下

  1. 打开cmd
  2. 输入ipython
  3. 进入ipython环境
  4. 输入“import tensorflow as tf”
  5. 输入“tf.test.is_gpu_available()”
  6. 输出"True"表示成功

下面用代码来测试cpu和gpu的使用效果:测试代码如下

import tensorflow as tf
import timeit

with tf.device('/cpu:0'):
    cpu_a = tf.random.normal([10000, 1000])
    cpu_b = tf.random.normal([1000, 2000])
    print(cpu_a.device, cpu_b.device)

with tf.device('/gpu:0'):
    gpu_a = tf.random.normal([10000, 1000])
    gpu_b = tf.random.normal([1000, 2000])
    print(gpu_a.device, gpu_b.device)


def cpu_run():
    with tf.device('/cpu:0'):
        c = tf.matmul(cpu_a, cpu_b)
    return c


def gpu_run():
    with tf.device('/gpu:0'):
        c = tf.matmul(gpu_a, gpu_b)
    return c


cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('warmup:', cpu_time, gpu_time)

cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('run time:', cpu_time, gpu_time)

运行结果如下:


可以看出gpu的速度非常之快。

更多推荐

tf.test.is_gpu_available()报错false的解决方案