2016-12-13 2 views
3

tf.one_hot을 실행하려고하면 CUDA_ERROR_LAUNCH_FAILED 오류가 발생합니다.TensorFlow GPU, tf.one_hot()의 CUDA_ERROR_LAUNCH_FAILED

샘플 코드 :

import tensorflow as tf 
idx_0 = tf.placeholder(tf.int64, [None]) 
mask = tf.one_hot(idx_0, 3, axis=-1) 
sess = tf.Session() 
sess.run(tf.global_variables_initializer()) 
a = sess.run([mask],feed_dict={idx_0:[0,1,2]}) 
print(a) 

예상 결과 :

[array([[ 1., 0., 0.], 
     [ 0., 1., 0.], 
     [ 0., 0., 1.]], dtype=float32)] 

실제 결과 : PC의

E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_driver.cc:1177] could not synchronize on CUDA context: CUDA_ERROR_LAUNCH_FAILED :: No stack trace available 
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_event.cc:49] Error polling for event status: failed to query event: CUDA_ERROR_LAUNCH_FAILED 
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_util.cc:370] GPU sync failed 

구성 :

    여기에 세부 사항입니다3210
  • TensorFlow 0.12.0-RC1
  • 파이썬 3.5
  • CUDA 8.0
  • cuDNN 5.1
  • OS : 윈도우 10
  • GPU : 지포스 GTX 970

때 확인을 실행 tf.one_hot Linux CPU, Linux GPU (GeForce GTX 660), Windows 10 CPU에서 실행됩니다. Windows 10 GPU에서는 좋지 않습니다.

Windows 10 GPU에서 tf.matmul, tf.reduce_mean, tf.reduce_sum은 정상적으로 실행됩니다. 하지만 tf.one_hot은 괜찮지 않습니다.

버그입니까, 아니면 뭔가 빠졌습니까? 감사.

(편집 2016년 12월 16일)

나는, 분투에, GPU를 동일한 시스템에서 코드를 실행할 수있다. 코드가 제대로 실행됩니다. 그래서 TensorFlow-Windows에서 이것이 문제라고 생각합니다.

답변

0

내 의견이 댓글로 너무 자세히 설명되어 있으므로 '답변'으로 댓글을 달았습니다.

나는 샘플을 실행하고 이러한 결과를 얻었다 :

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 745, pci bus id: 0000:01:00.0) 
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_event.cc:49] Error polling for event status: failed to query event: CUDA_ERROR_LAUNCH_FAILED 
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_event_mgr.cc:198] Unexpected Event status: 1 

내 구성 :

  • TensorFlow GPU에 대한 0.12.0-RC1
  • 파이썬 3.5.2/아나콘다 4.2.0
  • CUDA 8.0
  • cuDNN 5.1
  • OS : 윈도우 10
  • GPU : 지포스 GTX 745 (OEM)

내가 위의 오류를 생성하는 다른 코드가 있습니다. 비슷한 구성이지만 TensorFlow 0.12.0-rc1 (CPU 전용 릴리스)을 사용하는 다른 컴퓨터에서 실행하면 정상적으로 실행됩니다. 해당 버전의 TensorFlow로 코드를 테스트하는 것이 좋습니다.

3

의견을 남길만한 충분한 평판이 없기 때문에 답변으로 의견을 남깁니다.

GitHub의 버그로 신고 해 주셨습니까?나도 등 같은 Tensorflow/OS/그래픽 카드로이 동작을 /를 확인할 수

그냥 나를 위해 문제, 즉 뭔가

with tf.device('/cpu:0'): b = tf.one_hot(a, 123)

+0

감사 등이 CPU에 tf.one_hot()을 해결한다 이동 . https://github.com/tensorflow/tensorflow/issues/6783에 게시 됨. – luzi82