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。