GPU 장치에서 Tensorflow 성능을 테스트하는 프로그램을 구현하려고합니다. 데이터 테스트는 MNIST 데이터이며, 다중 레이어 퍼셉트론 (신경망)을 사용하여 감독 된 교육입니다. I는 this simple example 따라하지만 그것은 정확도 율이 다르다는 것을 밝혀 코드Tensorflow가 동일한 코드이지만 CPU 장치에서 GPU 장치로 다른 결과가 발생합니다.
correct_prediction = tf.equal(tf.argmax(y,1),tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction,"float"))
print(sess.run(accuracy,feed_dict={x:mnist.test.images,y_:mnist.test.labels}))
print(tf.convert_to_tensor(mnist.test.images).get_shape())
을 이용한 예측의 정확도를 체크 할 때 I 10000
for i in range(10000) :
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step,feed_dict={x : batch_xs, y_ : batch_ys})
if i % 500 == 0:
print(i)
결국
에 성능 배치 구배의 수를 변경 CPU to GPU : CPU가 0.3xx 만 반환하는 동안 GPU가 대략 0.9xx의 정확도를 반환합니다. 이유를 아는 사람이 있습니까? 또는 왜 그런 문제가 발생할 수 있습니까?
TensorBoard는이 문제를 디버깅하는 데 유용합니다. –