FLAGS =无意义?

2D_*_*2D_ 6 python argparse tensorflow

我是python和tensorFlow的新手,我正在关注tensorFlow文档的MNIST教程.

在第一位,我不知道FLAGS = None在这里做什么.我在谷歌搜索,然后回来了.这似乎对其他人来说太明显了?

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import argparse
import sys

from tensorflow.examples.tutorials.mnist import input_data

import tensorflow as tf

FLAGS = None


def main(_):
  # Import data
  mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)
Run Code Online (Sandbox Code Playgroud)

那么什么是FLAGS以及如何使用它?例如,FLAGS.data_dir

任何帮助,将不胜感激!

hpa*_*ulj 3

初始化FLAGS=None只是初始化全局常量的一种方式。如果保持原样,它将在 中引发错误main,因为None它没有任何属性。

但如果通过更完整的示例中所示的设置argparse parser,它是一个具有各种属性的简单对象。 main假设这些属性之一称为data_dir.

如果之后

FLAGS, unparsed = parser.parse_known_args()
print(FLAGS)
Run Code Online (Sandbox Code Playgroud)

您应该看到Namespace(data_dir='a directory', ....),其中 的值data_dir是从命令行解析的。