3
私はインセプションモデルを微調整しようとしており、テストデータで検証しています。しかし、テンソルフローで与えられたすべての例は、細かいチューニングとテストのどちらか一方だけではなく、同じグラフとセッションで両方を行う例はありません。Tensorflowスリムトレインと開始モデルのバリデーション
基本的に私はこれが欲しいです。
with tf.Graph().as_default():
image, image_raw, label,image_name, label_name = dut.distorted_inputs(params,is_training=is_training)
test_image, test_image_raw, test_label,test_image_name, test_label_name = dut.distorted_inputs(params,is_training=False)
# I'm creating as it is suggested at github slim page:
logits, _ =inception.inception_v2(image, num_classes=N, is_training=True)
tf.get_variable_scope().reuse_variables()
logits_tes, _ =inception.inception_v2(test_image, num_classes=N, is_training=Test)
err=tf.sub(logits, label)
losses = tf.reduce_mean(tf.reduce_sum(tf.square(err)))
# total_loss = model_loss+losses
total_loss = losses+slim.losses.get_total_loss()
test_err=tf.sub(test_logits, test_label)
test_loss= tf.reduce_mean(tf.reduce_sum(tf.square(test_err)))
optimizer = tf.train.AdamOptimizer(learning_rate=0.001)
train_op = slim.learning.create_train_op(total_loss, optimizer)
final_loss = slim.learning.train(
train_op,
logdir=params["cp_file"],
init_fn=ut.get_init_fn(slim,params),
number_of_steps=2,
summary_writer=summary_writer
)
それがわかるように、このコードは失敗し、私は各10バッチで私の試験データに私のモデルをテストしたい、私のテストモデルを呼び出すために、別々のループを持っていません。
10ステップ後、トレーニングが終了します。トレーニングを再開するには、最後のcpからモデルをロードする必要があります。しかし、これは非常に効率的な方法です、私は私のテストデータでラムに私のモードをテストすることを好む。 – seleucia
これを行うには、トレーニンググラフを再利用するためにevalサンプルを変更する必要があります。 –