TensorFlow2.0或2.1出现如下错误:Blas GEMM launch failed

我的第一篇CSDN博客,我比较喜欢把笔记都记录在Word上,然后保存好;但是对于一些学习中遇到的错误,一些不管大小的坑,还是试着分享出来,也方便以后自己查看

运行新版的tf2.0或者tf2.1出现这个错误:Blas GEMM launch failed : a.shape=(300, 1), b.shape=(1, 10), m=300, n=10, k=1

  • 经过查找相关资料和自己试验,发现这可能和GPU的内存分配有关系;因为默认情况下在代码中使用GPU时,有把内存占满的趋势;即使有时候计算的数据量并不足以占用整个GPU。
  • 所以,我们的思路之一就是对GPU的使用模式进行设置,如下面的代码所示,我们将GPU设置为memory_growth模式,它的意思是此时我们需要多少GPU内存就使用多少,不会过多占用。
##列出你所有的物理GPU
gpus = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpu[i], True)

如果你有多个GPU,那么你也可以将所有的GPU都设置成这个模式,如下面代码所示。

for gpu in gpus:
    tf.config.experimental.set_memory_growth(gpu, True)

希望遇到这类错误的同学可以通过这种方式解决问题,当然可能还有其他的解决办法,欢迎交流

继续努力学习,时间真的不能白白浪费,大好青春拼一把!!!

发布了27 篇原创文章 · 获赞 20 · 访问量 1570

猜你喜欢

转载自blog.csdn.net/qq_39507748/article/details/104273521
今日推荐