tf.app.flags做什么?为什么我们需要那个?

zes*_*sla 8 python deep-learning tensorflow

我正在阅读fully_connected_feed.py 包含以下代码的tensorflow教程文件.我不明白那些意思.我们为什么需要那个?它似乎只是定义了一些全局变量.为什么不直接定义它们?任何帮助表示赞赏.谢谢

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.')
Run Code Online (Sandbox Code Playgroud)

mgi*_*son 12

这是google从命令行解析参数的方法.看看python-gflags.据我所知,谷歌是这个命令行解析库的主要用户.argparse这些天使用世界其他地方.

但基本上,"tl; dr;" 是你是对的 - 他们正在建立全球数据.但是,它的全局数据可以通过命令行进行摆弄.