GPUデバイスのTensorflowパフォーマンスをテストするプログラムを実装しようとしています。 データテストはMNISTデータで、マルチレイヤパーセプトロン(ニューラルネットワーク)を使用した監督訓練です。 Iはthis simple exampleに従ったが、私は最終的に10000Tensorflowは同じコードですが、CPUデバイスとGPUデバイスの結果が異なります
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)
に性能バッチ勾配の数を変更し、私はこのコード
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())
を使用して予測精度を確認するとき、それは正解率が異なっていることが判明CPUからGPUへ:GPUが約0.9xxの精度を返し、CPUが0.3xxしか返さないとき。 理由を知っている人はいますか?なぜその問題が起こるのでしょうか?
TensorBoardはこの問題のデバッグに役立ちます。 –