TensorFlow中tf.app.flags的用途是什么?
我正在阅读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.')
在tensorflow/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py
但是我找不到任何有关tf.app.flags
使用的tf.app.flags
。
我发现这个标志的实现是在tensorflow/tensorflow/python/platform/default/_flags.py
显然,这个tf.app.flags
是用来configuration一个networking的,为什么它不在API文档中呢? 任何人都可以解释这里发生了什么?
tf.app.flags
模块目前是python-gflags的一个简单的包装器,因此该项目的文档是如何使用它的最佳资源 argparse
实现了python-gflags
的一部分function。
请注意,这个模块目前被打包为编写演示应用程序的便利,而且在技术上不是公共API的一部分,所以将来可能会改变。
我们build议您使用argparse
或您喜欢的任何库来实现自己的标志parsing。
编辑: tf.app.flags
模块实际上不是使用python-gflags
,但它使用了类似的API。