2016-12-28 4 views
0

ネットワークのトレーニング中にテストセットの精度を計算して表示したい。Tensorflow:ランタイムテストメトリックとデータキュー

フィードを使用するMNIST tutorialでは、列車データではなくテストデータを入力することで簡単に行えることがわかります。簡単な問題に対する簡単な解決策。

しかし、バッチ処理にキューを使用する場合、このような簡単な例は見つかりません。 AFAICSでは、ドキュメントに2つのソリューションが提案されています。

  1. 保存された状態でのオフラインテスト。私はオフラインにしたくありません。
  2. 訓練中のネットワークとウェイトを共有する2番目の「テスト」ネットワークを作成する。それは簡単ではないと私はその例を見ていない。

実行時にテストメトリックを計算する3番目の簡単な方法はありますか?または、実装するのが簡単なことで間違っていると分かっている共有重み付きの2番目のテストネットワークのどこかの例がありますか?

答えて

0

あなたの質問を正しく理解していれば、feed_dictではないキュー入力でトレーニング中にモデルを検証したいですか? これを行う私のprogramを見てください。ここ は短い説明です:

まず、あなたのトレーニングプログラムの「train.tfreords」と「valid.tfreocrds」

第二に、これを解析し、2つのキューを起動するようにあなたは電車と検証ファイルにあなたのデータを変換する必要があります二つのファイル、 、これは

with tf.variable_scope("inference") as scope: 
     logits = mnist.inference(images) 
     scope.reuse_variables() 
     validation_logits = mnist.inference(validation_images) 
によって行われます私のプログラムでは、列車と有効

ための2つのlogitsを取得するために共有変数を使用し

logitsを使用して列車の損失を最小化して最小化し、validation_logitsを使用して有効な精度を得る

関連する問題