использование tf.app.run () и argparse - PullRequest
0 голосов
/ 16 мая 2018

Я понял, что делает парсер, но я не получаю его использования, когда он смешивается с tf.app.run() в следующем коде:

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.register("type", "bool", lambda v: v.lower() == "true")

    parser.add_argument("--ps_hosts",
                        type=str,
                        default="",
                        help="Comma-seperated list of hostname:port pairs")
    parser.add_argument("--worker_hosts",
                        type=str,
                        default="",
                        help="Comma-seperated list of hostname:port pairs")
    parser.add_argument("--job_name",
                        type=str,
                        default="",
                        help="One of 'ps', 'worker'")
    parser.add_argument("--task_index",
                        type=int,
                        default=0,
                        help="Index of task within the job")
    parser.add_argument("--data_dir",
                        type=str,
                    -   default="/tmp/mnist_data",
                        help="Directory for storing input data")
    parser.add_argument("--log_dir",
                        type=str,
                        default="/tmp/train_logs",
                        help="Directory of train logs")
    FLAGS, unparsed = parser.parse_known_args()
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)

основная функция в программе не имеет никакойаргументы, как это определено как def main(_).Так что же должен означать или делать аргумент argv в tf.app.run()?

Спасибо

1 Ответ

0 голосов
/ 16 мая 2018

Параметр argv используется при разборе встроенного флага командной строки Tensorflow.Он в основном предназначен для демонстрации.Вы можете определить флаги как tf.flags.DEFINE_integer('batch_size', 128).После этого вы сможете получить к нему доступ tf.flags.FLAGS.batch_size.

Если вы анализируете свои аргументы с помощью ArgumentParser, вам не нужно использовать tf.app.run.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...