InternalError: 2 root error(s) found. 均为 Internal: Blas GEMM launch failed

tensorflow运行过程中出现问题:InternalError: 2 root error(s) found. 均为 Internal: Blas GEMM launch failed_第1张图片

原因:显存不足所造成。

解决方案:在代码最前方加入代码

import os

os.environ["CUDA_VISIBLE_DEVICES"] = "0"
config = tf.ConfigProto(allow_soft_placement = True)
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.5)
config.gpu_options.allow_growth = True

sess0 = tf.InteractiveSession(config = config)

上述代码的意思是使用GPU设备0,最多给GPU分配总共内存的50%,并且允许GPU按需申请内存。也就是说,假设一个程序使用一块GPU内存百分之10就够了,如果我们没有指定allow_growth=True,那么程序会直接占用GPU内存的百分之50,因为这个是我们给它分配的。如果我们连0.5,也就是GPU内存的50%都没有指定,那么程序会直接占用整个GPU设备0。虽然占用这么多没有用,但是我就占着,属于“占着茅坑不拉屎”。所以,为了充分利用资源,特别是一帮人使用一个服务器的时候,指定下这些参数就很有必要了。

你可能感兴趣的:(深度学习,深度学习)