InternalErrorの解決策:Dstテンソルが初期化されていません。



Solution Internalerror



このエラーが発生する状況を次の図に示します。 内部エラー

うまくいかなかった文はたった一文です:



acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels})

別の状況があります ResourceExhaustError 、以下に示すように



画像は保存されません

もう1つの状況は、エラーが報告されず、正常に実行できることです。以下に示すように:



エラーが発生しない状況はどのように発生しますか? jupyter-notebookを閉じて再度開き、この例を再度実行しましたが、エラーは報告されませんでした。しかし、他の例を実行してからこの例を実行すると、エラーが簡単に報告されます。

# 解決:

トレーニングはバッチで行われるので、私の考えはバッチでテストすることです。テストセットには合計10,000枚の画像があります。 1回限りのテストでエラーを報告するのは簡単なので、バッチでテストします

## Forecast accuracy #batch_size_test = 8500 The maximum can test so many pictures at one time, and more will be prone to errors #acc = sess.run(accuracy, feed_dict={x:mnist.test.images[0:batch_size_test], y:mnist.test.labels[0:batch_size_test]}) # Due to limited GPU resources, 10,000 images cannot be verified at once. So adopt a batch verification scheme batch_size_test = 5000 # The number of verification images per batch num = len(mnist.test.images)//batch_size_test acc_sum = 0 #print(num) #print(batch_size_test) #print(acc_sum) for i in range(num): acc = sess.run(accuracy, feed_dict={x:mnist.test.images[i*batch_size_test : (i+1)*batch_size_test+i-1], y:mnist.test.labels[i*batch_size_test : (i+1)*batch_size_test+i-1]}) acc_sum = acc_sum + acc print('Every test loop, i: '+str(i)) acc = acc_sum/num #take the average of each batch ## Output iteration number and accuracy print('Iter ' + str(epoch) + ', Testing Accuracy ' + str(acc)) #print(len(mnist.test.images))