Internal Error: Blas GEMM launch failed 问题

Internal Error: Blas GEMM launch failed 问题

一、总结

一句话总结:

(1)、此错误主要是由于程序运行时GPU的空间不足而引起的。
(2)、出现显存不足的主要问题是Tensorflow默认申请可使用的全部显存,当tensorflow程序运行会话却没有关闭会话释放资源的时候,就会出现此错误,尤其是使用Keras、以及 jupyter的时候。

二、Internal Error: Blas GEMM launch failed 问题

转自或参考:Internal Error: Blas GEMM launch failed 问题
https://blog.csdn.net/feixiang7701/article/details/81515447

Tensorflow程序运行中出现"Interal Error:Blas GEMM launch failed.",此错误主要是由于程序运行时GPU的空间不足而引起的。故一般出现此错误的时候,会发现程序提示的GPU freeMemory 很少,如下图所示。

出现显存不足的主要问题是Tensorflow默认申请可使用的全部显存,当tensorflow程序运行会话却没有关闭会话释放资源的时候,就会出现此错误,尤其是使用Keras、以及 jupyter的时候。可使用watch命令查看NVIDIA显卡的显存使用情况。如下图所示tensorflow的程序几乎使用了全部内存,故当新程序运行时就会显示Internal Error。

watch nvidia-smi

此问题的解决方法如下:

(1)通过强制结束进程(或者重启电脑),进行显存的释放,对于Keras、jupyter等运行时显存被耗尽的情况。kill -9可以无条件终止程序。

kill -9 3627

(2)通过设定config为使用的显存按需自动增长,避免显存被耗尽,可进行有效的预防。

gpu_no = '0' # or '1'
os.environ["CUDA_VISIBLE_DEVICES"] = gpu_no

# 定义TensorFlow配置
config = tf.ConfigProto()

# 配置GPU内存分配方式,按需增长,很关键
config.gpu_options.allow_growth = True

# 配置可使用的显存比例
config.gpu_options.per_process_gpu_memory_fraction = 0.1

# 在创建session的时候把config作为参数传进去
sess = tf.InteractiveSession(config = config)

参考链接:https://www.cnblogs.com/zhsuiy/p/8030651.html

 
我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
博主25岁,前端后端算法大数据人工智能都有兴趣。
大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
聊技术,交朋友,修心境,qq404006308,微信fan404006308
26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
人工智能群:939687837

作者相关推荐

原文地址:https://www.cnblogs.com/Renyi-Fan/p/13665127.html