网上安装tensorflow-gpu=2.2.0什么的一大推,而且最后还报错,一般问题出现在:
一、安装下载慢
二、cuda和cudnn版本不对
我最后实验了,很好解决上面的问题。
一、安装tensorflow-gpu=2.2.0使用清华源安装,代码如下:
pip install tensorflow-gpu==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
- 1
这样下载速度飞起!
二、什么去官网下载cuda版本配置路径,感觉都不靠谱,我实验了,一个命令搞定,我的是1080Ti显卡,先通过GeForce Experience把驱动更新到最新,我的cuda信息如下:
我cuda的是11.0,这不重要,一般需要cuda是10.1或者以上就可以了。
然后一句代码安装:
conda install cudatoolkit=10.1 cudnn=7.6.5
- 1
注意:不要改上面的版本,不然安装成功了,使用时报错,这里就是个坑,我试过很多,这两个版本才是对应的,不管tensorflow-gpu=2.0/2.1/2.2,都适用
安装好后测试下,测试代码;
import tensorflow as tf
import timeit
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 代码用于忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)。
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
# 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)
print('GPU', tf.test.is_gpu_available())
结果为:
warmup: 1.1624844 1.8189751
run time: 1.1631149999999995 0.0005907000000000551
GPU True
这样就安装成功了!
另外推荐个自动补全插件,很好用,TabNine,安装方法链接如下:
https://www.tabnine.com/
2020年10月11号更新
最近可能出现的版本问题报错,例如:
AttributeError: module ‘tensorflow’ has no attribute ‘compat’
解决方案:https://blog.csdn.net/weixin_45092662/article/details/106969426