我正在阅读tensorflow教程文件fully_connected_feed.py
,其中包含以下代码。我不明白那些是什么意思。为什么我们需要这个?它似乎只是定义了一些全局变量。为什么不直接定义它们呢?如有任何帮助,我们将不胜感激。谢谢
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.')
这是google从命令行解析参数的方法。看看python-gflags。据我所知,google是这个命令行解析库的主要用户。现在世界上其他地方都在使用^{} 。
但基本上,“tl;dr;”是正确的——他们正在设置全局数据。然而,可以通过命令行修改的是全局数据。
相关问题 更多 >
编程相关推荐