2016-06-15 43 views
6

我正在閱讀包含以下代碼的tensorflow教程文件fully_connected_feed.py。我不明白這是什麼意思。我們爲什麼需要這個?看起來它只是定義了一些全局變量。爲什麼不直接定義這些?任何幫助表示讚賞。謝謝tf.app.flags做什麼?爲什麼我們需要這個?

flags = tf.app.flags 
FLAGS = flags.FLAGS 
flags.DEFINE_float('learning_rate', 0.01, 'Initial learning rate.') 
flags.DEFINE_integer('max_steps', 2000, 'Number of steps to run trainer.') 
flags.DEFINE_integer('hidden1', 128, 'Number of units in hidden layer 1.') 
flags.DEFINE_integer('hidden2', 32, 'Number of units in hidden layer 2.') 
flags.DEFINE_integer('batch_size', 100, 'Batch size. ' 
        'Must divide evenly into the dataset sizes.') 
flags.DEFINE_string('train_dir', 'data', 'Directory to put the training data.') 
flags.DEFINE_boolean('fake_data', False, 'If true, uses fake data ' 
        'for unit testing.') 

回答

9

這是谷歌從命令行解析參數的方式。看看python-gflags。據我所知,谷歌是這個命令行解析庫的主要用戶。世界其他地方現在使用argparse

但基本上,「tl; dr」你是對的 - 他們正在建立全球數據。然而,這是全局數據,可以通過命令行來擺弄。

+0

這個答案讓我明白了比問題中所鏈接的更多。 –

相關問題