我正在阅读 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
用法的文档。
我发现这个标志的实现是在
tensorflow/tensorflow/python/platform/default/_flags.py
显然,这个 tf.app.flags
以某种方式用于配置网络,那么为什么它不在 API 文档中呢?谁能解释这里发生了什么?
最佳答案
tf.app.flags
模块目前是 python-gflags 的薄包装,所以 documentation for that project是如何使用它的最佳资源 argparse
,它实现了 python-gflags
中的功能子集.
请注意,此模块目前是为了方便编写演示应用而打包的,从技术上讲,它不是公共(public) API 的一部分,因此将来可能会发生变化。
我们建议您使用 argparse
或您喜欢的任何库来实现自己的标志解析。
编辑: tf.app.flags
模块实际上并不是使用 python-gflags
实现的,但它使用了类似的 API。
关于python - TensorFlow 中 tf.app.flags 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33932901/