【问题标题】:Blas SGEMM launch failedBlas SGEMM 启动失败
【发布时间】:2017-04-10 16:18:15
【问题描述】:

我刚刚在带有 CUDA 8.0 和 Cudnn v5.1 的 Win10 GTX GEFORCE 850M 上安装了 TensorFlow-GPU 1.0.1。 当我试图确定安装是否成功时,我运行了

mnist_with_summaries.py

C:\Users...\Anaconda3\Lib\site-packages\tensorflow\examples\tutorials\mnist

当我在 Jupyter Notebook 中运行代码时,它会打印出来

第 0 步的准确度:0.068

第 10 步的准确度:0.6795

第 10 步的准确度:0.6795

第 20 步的准确度:0.8062

第 30 步的准确度:0.8455

第 40 步的准确度:0.8737

第 50 步的准确度:0.8735

第 60 步的准确度:0.8851

第 70 步的准确度:0.8815

第 80 步的准确度:0.8863

第 90 步的准确度:0.8918

并且内核在打印上述消息后就死了。

当我尝试在命令提示符下运行代码时,它返回错误:

创建cublas句柄失败

尝试在不支持 BLAS 的情况下使用 StreamExecutor 执行 BLAS 操作

内部错误:Blass SGEMM 启动失败:a.shape=(10000,784),b.shape=(784,500)

而且这个内部错误信息出现了3次。(错误信息太多,我只是写一些我认为有用的东西。如果有人需要更多信息,请告诉我)。

然后我尝试运行:

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))

输出是: [[ 22. 28.] [49. 64.]] 这次代码运行没有错误。 但它应该输出: 设备映射:

/job:localhost/replica:0/task:0/gpu:0 -> 设备:0,名称:GeForce GTX 850M

id:0000:05:00.0

b: /job:localhost/replica:0/task:0/gpu:0

a: /job:localhost/replica:0/task:0/gpu:0

MatMul: /job:localhost/replica:0/task:0/gpu:0

[[ 22. 28.] [49. 64.]]

我完全迷路了。谁能告诉我为什么?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    你的显卡有多少内存?您可能内存不足。有一些方法可以强制 TensorFlow 限制内存使用——参见:How to prevent tensorflow from allocating the totality of a GPU memory?

    但我想知道 TF 是否不能优雅地处理内存不足的情况。

    【讨论】:

      猜你喜欢
      • 2016-09-17
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多