2016-12-13 4 views
4

Windows 10で、単純なMINSTニューラルネットワークプログラムを使用してtensorflow-gpuを実行しています。実行しようとすると、エラーCUBLAS_STATUS_ALLOC_FAILEDが発生します。 Google検索で何も表示されません。 Windows上でTensorflowがCUBLAS_STATUS_ALLOC_FAILEDでクラッシュする

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GTX 970 
major: 5 minor: 2 memoryClockRate (GHz) 1.253 
pciBusID 0000:0f:00.0 
Total memory: 4.00GiB 
Free memory: 3.31GiB 
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0 
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0: Y 
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:0f:00.0) 
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED 
W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support 
Traceback (most recent call last): 
    File "C:\Users\Anonymous\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1021, in _do_call 
    return fn(*args) 
    File "C:\Users\Anonymous\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\client\session.py", line 1003, in _run_fn 
    status, run_metadata) 
    File "C:\Users\Anonymous\AppData\Local\Programs\Python\Python35\lib\contextlib.py", line 66, in __exit__ 
    next(self.gen) 
    File "C:\Users\Anonymous\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 469, in raise_exception_on_not_ok_status 
    pywrap_tensorflow.TF_GetCode(status)) 
tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : a.shape=(100, 784), b.shape=(784, 256), m=100, n=256, 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/_7, Variable/read)]] 
     [[Node: Mean/_15 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_35_Mean", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

答えて

8

の場所をセッション設定の "allow_growth"プロパティが今や異なっているようです。それは、ここで説明しています:https://www.tensorflow.org/tutorials/using_gpu

をので、現在、あなたはこのようにそれを設定する必要があると思います:プロトコルメッセージConfigProtoは、「何を持っています

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config, ...) 
3

、現在、それは文書で述べているように、次のように代わりに使用すると、動的メモリの成長を可能にすることにより、このエラーを回避することができ、すべての使用可能なメモリを割り当てませんtensorflow:

tf.Session(config=tf.ConfigProto(allow_growth=True)) 
+0

'ConfiProto'が、それによってエラー'とValueErrorを得、このパラメータが欠落していないように見えますallow_growth "フィールド" –

関連する問題