一、首先要看看你的显卡是不是NVIDA的,是的话支不支持CUDA。只要支持,那你最好把驱动更新到最近一年内的版本。

1、CUDA支持的GPUs | NVIDIA Developer 这个网站有点慢,耐心点

2、查看一下你的驱动版本号够不够,windows下一定要下载最低CUDA10.1的版本!之前下载CUDA10.0的卸载了吧。

python 启用cuda easyocr python调用cuda_CUDA

二、下载安装CUDA10.1和对应版本CuDNN

安装之前要先卸载之前的版本,并且你的计算机得有VS2017或者VS2019等。

1、给出两种下载方式

(1)百度云链接:下载 提取码:wtaz

(2)官网链接:进入,不过我这边进官网挺慢的

2、安装CUDA

如果你C盘内存足够,建议精简安装。

3、解压后将CuDNN中的bin,include,x64文件夹中的文件(不是文件夹本身),复制到C盘你刚安装的CUDA路径里面。

python 启用cuda easyocr python调用cuda_CUDA_02

三、下载安装对应的tensorflow2.x

截止2021/01/09,有对应关系

TF

CUDA

CuDNN

2.0

10.0

7.6

2.1

10.1

7.6

2.2

10.1

7.6

2.3

10.1

7.6

如果你按照我上面的步骤安装了CUDA10.1及对应版本CuDNN,那你其实安装后三个都是可以的,我这里安装tensorflow2.1。
直接

pip install tensorflow-gpu==2.1.0

四、测试是否安装成功

运行下面的程序

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'        # 屏蔽通知信息,和警告信息,注意写在import tensorflow之前
import tensorflow as tf

tf.compat.v1.disable_eager_execution()
config = tf.compat.v1.ConfigProto(allow_soft_placement=True)


sess = tf.compat.v1.Session(config=config)
with tf.device('/gpu:0'):
    a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
    b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
    c = tf.matmul(a, b)
    print(sess.run(c))


if tf.test.gpu_device_name():
    print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
    print("Please install GPU version of TF")

#print('GPU:', tf.test.is_gpu_available())       # 未来版本将会被移除,暂时可用,gpu可用返回True

print(tf.config.list_physical_devices('GPU'))

我的运行结果为

WARNING: Logging before flag parsing goes to stderr.
[[22. 28.]
 [49. 64.]]
Default GPU Device: /device:GPU:0
[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]


五、报错处理

1、你可能会看到这样的

警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA.
或者
FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecate.

第一种警告就是说你的GPU还不能使用,有独显的你还需要下一步的NVIDIA控制面板设置;
第二种警告可能是你的numpy版本比较高不适配,你指定安装一个低一点版本的numpy试试,如pip install numpy==1.16.0

2、还有可能会提示你缺失动态库

python 启用cuda easyocr python调用cuda_官网_03


这个是非常奇怪的事,首先我找不全所有的dll,其次当我把找到的几个dll准备放到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin 路径下,发现都要替换——也就是说本来这里面就都有啊!

于是我只能试试把这些在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin所谓缺失的dll复制一份到 C:\Windows\System32,就成功了!

如果你还是不行,可以用一位知乎大佬提供的几个dll,用里面的dll全部替换掉你原来的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin下的同名dll,再复制一份到C:\Windows\System32,应该就可以了。