Day0:Tensorflow-gpu安装问题

Tensorflow-gpu安装问题

Anaconda安装

先安装ANACONDA,安装好ANACONDA后,会自动添加环境,检查是否正确。
Anaconda

环境检查

查看自己电脑的管理中查看GPU型号。
EnvCheck
查看显卡是否支持,例如本机器NVIDIA 960M,搜索960M+SPECIFICATION,在官网中即可查看到是否支持CUDA。
960M

安装CUDA

  • 【重要】确认CUDA版本与tensorflow-gpu版本间的对应,避免追朔后续各种调试麻烦,本机安装的是是tensorflow_gpu-1.16.0和CUDA10.0匹配方式,cuDNN选用的是7.5,python3.6.9版本。
  • 单独点到CUDA Toolkit Archive里去找10.0,目前最新为10.1

安装Tensorflow-gpu

tensorflow-gpu版本查看

tensorflow_ver
目前安装的是1.15版本,安装2.0版本如下,对应CUDA和cuDNN彻底删除后安装成功。

最简单方式安装成功方法

  • 安装最新Anaconda,自动添加

    1
    ```Anaconda3-2019.10-Windows-x86_64.exe

  • 在Anaconda Navigator中create 新的环境,python为3.7
    tf-gpu

  • 点击 Open Terminal,conda安装tensorflow-gpu==2.0.0即可。
    1
    conda install tensorflow-gpu==2.0.0

【注意】Nvidia驱动程序要410.x以上,通过

1
```442.19-notebook-win10-64bit-international-dch-whql.exe

nvidia-smi

Tensorflow-gpu性能对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import tensorflow as tf
import timeit

with tf.device('/cpu:0'):
cpu_a = tf.random.normal([1000, 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([1000, 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

# warm up
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,结果如下图。
gpu_vs_cpu

操作:

打开prompt ,一般默认的是base,可以使用conda env list 列出当前系统中存在多少环境,使用activate env_name 来激活你想要使用的环境:activate tf-gpu,然后jupyter notebook进入jupyter notebook。离开则在 Windows 上,终端中输入:deactivate