有时您会在TensorFlow中看到 Blas GEMM launch failed
错误。
这有点难以理解。
因此,本文介绍了如何在TensorFlow中解决"Blas GEMM启动失败"问题。
什么是TensorFlow?
TensorFlow是非常着名的机器学习库。
在机器学习领域,每个人都知道。
它对神经网络处理很有用。
在TensorFlow中,您有隐藏图层或激活功能等详细设置。
TensorFlow是一个免费的开源软件库,用于在一系列任务中进行数据流和可区分编程。它是一个符号数学库,也用于机器学习应用程序,如神经网络。
TensorFlow - 维基百科
原因导致"Blas GEMM发布失败"
在Python中执行TensorFlow过程时,您可能会看到此错误。
InternalError: Blas GEMM launch failed
出现此错误的原因是内存溢出。
如果您尝试使用太多内存,则会发生错误。
为了检查内存,很容易检查 GPU内存使用情况。
对于Windows10,您可以使用 taskmgr
命令运行任务管理器。
您可以看到"GPU0"或"GPU1"的GPU内存使用情况。
如果运行TensorFlow prrogram时GPU内存使用率达到100%,则意味着内存溢出。
检查GPU内存使用情况。在Windows10中,您可以在任务管理器上进行检查。
[Tensorflow] InternalError:Blas SGEMM启动失败|程式码实验室
共享GPU内存可用吗?
在任务管理器上,您可以看到私有GPU内存和共享GPU内存。
因此,您可以估计共享GPU内存可用。
但是不可能将共享GPU内存用于TensorFlow。
共享GPU内存不在GPU上。它是为GPU共享的PC内存。
CUDA只能使用GPU内存。所以它不能使用共享GPU内存。
共享内存是主RAM的保留内存。
它不在你的NVIDIA GPU上。 CUDA无法使用它。
TensorFlow中是否提供共享GPU内存?
如何避免"Blas GEMM启动失败"
有一些解决方案。
- 用更大的内存替换GPU
- 修改您的程序以减少内存使用
- 使用GPU1代替GPU0
我介绍如何使用另一个GPU(GPU1)。
如何使用其他GPU
如果你有2个GPU,你可以使用秒秒GPU。
为了在Python上选择GPU,你可以在运行TensorFlow进程之前使用 config
。
import keras import tensorflow as tf tf.Session(config=tf.ConfigProto(device_count = {'GPU': 1}))
最后
- Blas GEMM启动失败的原因是GPU内存溢出
- 共享GPU内存不可用,因为它不在GPU上
- 其中一个解决方案是使用
config
选择另一个GPU。