Подтвердить что ты не робот

Какова цель tf.app.flags в TensorFlow?

Я читаю некоторые примеры кодов в 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.')

in tensorflow/tensorflow/g3doc/tutorials/mnist/fully_connected_feed.py

Но я не могу найти никаких документов об этом использовании tf.app.flags.

И я обнаружил, что реализация этих флагов находится в tensorflow/tensorflow/python/platform/default/_flags.py

Очевидно, что этот tf.app.flags каким-то образом используется для настройки сети, так почему же это не в документах API? Может ли кто-нибудь объяснить, что здесь происходит?

4b9b3361

Ответ 1

Модуль tf.app.flags в настоящее время представляет собой тонкую оболочку вокруг python-gflags, поэтому документация для этого проекта является лучшим ресурсом для ее использования argparse, который реализует подмножество функций в python-gflags.

Обратите внимание, что этот модуль в настоящее время упакован как удобство для написания демонстрационных приложений и не является частью публичного API, поэтому он может измениться в будущем.

Мы рекомендуем реализовать собственный анализ флагов с помощью argparse или любой другой библиотеки, которую вы предпочитаете.

EDIT: Модуль tf.app.flags на самом деле не реализован с использованием python-gflags, но он использует аналогичный API.