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
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672