0
tensorflowの例cifar10では、reuse = Trueの推論をグラフに追加した後に損失値が変化します。もともとreuse = Trueで追加の推論を追加した後にlossが変化する理由
:
2016-11-13 06:08:04.936044: step 0, loss = 4.68 (6.5 examples/sec;
19.787 sec/batch)
私の変更後は:
2016-11-13 06:00:50.400917: step 0, loss = 7.05 (6.4 examples/sec; 20.109 sec/batch)
私はなぜ理解していません。 cifar10_train.py
Iにおいて行われたすべての変更は、次のように
1である)が、Iはcifar10.py
で)、
logits = cifar10.inference(images, reuse = False)
logits2 = cifar10.inference(images, reuse=True)
2行を追加し、私はinference()
def inference(images, reuse):
with tf.variable_scope('conv1', reuse) as scope:
......
に再利用を添加し私が見つかりました。損失額は全く異なっています。もともと
:私の変更後
2016-11-13 06:08:04.936044: step 0, loss = 4.68 (6.5 examples/sec; 19.787 sec/batch)
:
2016-11-13 06:00:50.400917: step 0, loss = 7.05 (6.4 examples/sec; 20.109 sec/batch)
これはなぜですか?
コードを複数回実行しようとしましたか?これは毎回起こりますか?深い学習における訓練アルゴリズムの多くは確率的である。 – sygi
tensorflow r0.11を使用していますか?その行だけを本当に変更した場合は、[tf.variable_scope](https://www.tensorflow.org/versions/r0.11/api_docs/python/state_ops)の2番目のパラメータとして、変更する必要はありません。 html#variable_scope)は 'default_name'です(' tf.variable_scope( 'conv1'、reuse = reuse) ')。 – sygi
問題はいつでも再現できます。 – anna