InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10...问题解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Vinsuan1993/article/details/81142855

问题描述

用tensorflow-GPU版训练MNIST数据集时,报错:

  InternalError: Blas SGEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10, k=784
     [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](_recv_Placeholder_0/_4, Variable/read)]]  

发生原因

(1)、由于其他pythonx程序占用了GPU资源,导致现有程序没法分配足够的资源去执行当前程序。
(2)、如果你是使用 GPU 版 TensorFlow 的话,并且你想在显卡高占用率的情况下(比如玩游戏)训练模型,那你要注意在初始化 Session 的时候为其分配固定数量的显存,否则可能会在开始训练的时候直接报错退出。

解决办法

(1):判断当前Session()

if 'session' in locals() and session is not None:
    print('Close interactive session')
    session.close()

(2):分配显存

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

(3):如果前两个办法还不能解决问题
重启机器

猜你喜欢

转载自blog.csdn.net/Vinsuan1993/article/details/81142855