ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【机器学习】Tensorflow 2.4.1 + CUDA 11.1.0 + cuDNN 8.1.1 环境配置踩坑一则

2021-04-04 12:33:35  阅读:2159  来源: 互联网

标签:8.1 10 cusolver64 xla 11.1 cuDNN XLA tf dll


第一个坑

Not creating XLA devices, tf_xla_enable_xla_devices not set

相关帖子

Github #44683

原因

Tensorflow 2.4版本新特性所致

解决办法

实际上这个问题可以忽略,看看2.4版本的release就一目了然,并不是很多博客说的版本对应问题,回退到老版本治标不治本。
如果需要用XLA,添加TF_XLA_FLAGS=–tf_xla_enable_xla_devices即可解决该warning。

release

默认情况下,不再注册XLA:CPU和XLA:GPU设备。
TF_XLA_FLAGS=--tf_xla_enable_xla_devices
如果确实需要它们,请使用此flag,但是此flag最终将在后续版本中删除。

第二个坑

Could not load dynamic library ‘cusolver64_10.dll’; dlerror: cusolver64_10.dll not found

相关帖子

Github #44159
Overflow

原因

去到CUDA的bin文件夹可以发现并没有cusolver64_10.dll这个文件,但是有cusolver64_11.dll,cusolver64_10.dll按理说应该是对应CUDA 10版本,而11版本对应的是cusolver64_11.dll,估计是一个底层小bug。

解决办法

  • 方法一:重命名 ‘cusolver64_11.dll’ 为 ‘cusolver64_10.dll’!
  • 方法二:下载 cusolver64_10.dll 原文件!

测试代码

  • 测试GPU是否被检测到
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))

1

  • 测试GPU运算是否可用
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))

2
以上输出正常则配置成功!

标签:8.1,10,cusolver64,xla,11.1,cuDNN,XLA,tf,dll
来源: https://blog.csdn.net/cleanlii/article/details/115426988

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有