2017-12-19 8 views
0

私は何をしたいですか?トレーニングと評価を同じマシンで実行するためのベストプラクティスは何ですか?

  1. 私はマシンが1つしかありません。

  2. 定期的にモードを評価したいと思います。

私は今何をしていますか?

  1. プレースホルダを使用します。トレーニングデータを入力して1000ステップのトレーニングを実行しているとします。評価のために検証データセットをフィードします。それをループに入れてください。

    Googleのように、プレースホルダは長時間のトレーニングには適していません。

  2. 私はスリムデータセットを使用してデータをフィードします。さて、モデルは次のようにトレーニングデータセットと結合されています

    net = slim.conv2d(inputs, 64, [11, 11], 4, padding='VALID', 
              scope='conv1') 
    

    私は、検証データセットと結合された(別のグラフの)別のモデルを構築する必要があります。

もっと良い方法がありますか?

答えて

1

tf.estimator.train_and_evaluate() APIは、同じマシンでのトレーニングと評価を簡素化するように設計されています(ローカルまたはクラウドMLエンジンを使用して複数のマシンへのスケーリングをサポートしています)。内部的には、訓練と評価のための異なるグラフを構築し、tf.estimator.TrainSpectf.estimator.EvalSpecの異なる入力パイプライン(「入力関数」と定義されています)をこれらのグラフに接続します。 Slim APIを使用してこれらの入力関数を構築できますが、より柔軟で効率的なtf.data APIを使用することをおすすめします。

+0

ありがとうございました。私は見積もりの​​ソースコードを読んで、それは2つのグラフを作成します。それは2グラフの事を避けることができないように見えます。 –

関連する問題