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에서 이것이 문제라고 생각합니다.
감사 등이 CPU에 tf.one_hot()을 해결한다 이동 . https://github.com/tensorflow/tensorflow/issues/6783에 게시 됨. – luzi82