tf.app.flags 的用法或 API
the usage or API of tf.app.flags
在阅读cifar10 example时,可以看到如下代码段,据说是遵循google命令行标准。但是具体来说,这个代码段是做什么的呢?我没有找到涵盖 tf.app.flags.DEFINE_string
之类内容的 API 文档
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train',
"""Directory where to write event logs """
"""and checkpoint.""")
tf.app.flags.DEFINE_integer('max_steps', 1000000,
"""Number of batches to run.""")
tf.app.flags.DEFINE_boolean('log_device_placement', False,
"""Whether to log device placement.""")
我使用 TensorFlow 的经验是,查看源代码通常比 API 文档中的 Ctrl+F 更有用。我保持 PyCharm 打开 TensorFlow 项目,并且可以轻松搜索任何一个示例来说明如何做某事(例如,自定义 reader)。
在这种特殊情况下,您想查看 tensorflow/python/platform/flags.py 中发生的事情。它实际上只是 argparse.ArgumentParser() 的薄包装。特别是,所有 DEFINE_* 最终都将参数添加到 _global_parser,例如,通过此辅助函数:
def _define_helper(flag_name, default_value, docstring, flagtype):
"""Registers 'flag_name' with 'default_value' and 'docstring'."""
_global_parser.add_argument("--" + flag_name,
default=default_value,
help=docstring,
type=flagtype)
所以他们的标志 API 与您在 ArgumentParser 中找到的基本相同。
在阅读cifar10 example时,可以看到如下代码段,据说是遵循google命令行标准。但是具体来说,这个代码段是做什么的呢?我没有找到涵盖 tf.app.flags.DEFINE_string
FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_string('train_dir', '/tmp/cifar10_train',
"""Directory where to write event logs """
"""and checkpoint.""")
tf.app.flags.DEFINE_integer('max_steps', 1000000,
"""Number of batches to run.""")
tf.app.flags.DEFINE_boolean('log_device_placement', False,
"""Whether to log device placement.""")
我使用 TensorFlow 的经验是,查看源代码通常比 API 文档中的 Ctrl+F 更有用。我保持 PyCharm 打开 TensorFlow 项目,并且可以轻松搜索任何一个示例来说明如何做某事(例如,自定义 reader)。
在这种特殊情况下,您想查看 tensorflow/python/platform/flags.py 中发生的事情。它实际上只是 argparse.ArgumentParser() 的薄包装。特别是,所有 DEFINE_* 最终都将参数添加到 _global_parser,例如,通过此辅助函数:
def _define_helper(flag_name, default_value, docstring, flagtype):
"""Registers 'flag_name' with 'default_value' and 'docstring'."""
_global_parser.add_argument("--" + flag_name,
default=default_value,
help=docstring,
type=flagtype)
所以他们的标志 API 与您在 ArgumentParser 中找到的基本相同。