Blas SGEMM发布失败

时间:2017-04-10 16:18:16

标签: python tensorflow

我刚刚使用CUDA 8.0和Cudnn v5.1在Win10 GTX GEFORCE 850M上安装了TensorFlow-GPU 1.0.1。 当我试图弄清楚安装是否成功时,我运行

  

mnist_with_summaries.py

  

C:\用户... \ Anaconda3 \ LIB \站点包\ tensorflow \例子\教程\ 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)

此内部错误消息出现三次。(错误消息太多,我只记下我认为有用的内容。如果有人需要更多信息,请告诉我。)

然后我尝试运行:

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。]]

我完全迷失了。有人可以告诉我为什么吗?

1 个答案:

答案 0 :(得分:0)

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

但我想知道TF是否优雅地处理低内存情况。