簡體   English   中英

張量流中“FLAGS”的目的是什么?

[英]What's the purpose of “FLAGS” in tensorflow

我正在研究tensorflow中的mnist示例

我對模塊FLAGS感到困惑

# Basic model parameters as external flags.
FLAGS = None

在“run_training”函數中:

def run_training():
"""Train MNIST for a number of steps."""
# Tell TensorFlow that the model will be built into the default Graph.
with tf.Graph().as_default():
# Input images and labels.
images, labels = inputs(train=True, batch_size=FLAGS.batch_size,
                        num_epochs=FLAGS.num_epochs)

在這里使用“FLAGS.batch_size”和“FLAGS.num_epochs”的目的是什么? 我可以用128這樣的常數替換嗎?

我在這個網站上找到了類似的答案,但我仍然無法理解。

對於mnist full_connect_reader的示例,實際上他們根本沒有使用tensorflow FLAGS。 這里的FLAGS只是用作“全局變量”,它將由源代碼頁按鈕中的“FLAGS,unparsed = parser.parse_known_args()”分配,並用於不同的函數。

使用tf.app.flags.FLAGS的方法應該是:

import tensorflow as tf

FLAGS = tf.app.flags.FLAGS

tf.app.flags.DEFINE_integer('max_steps', 100,
                            """Number of batches to run.""")
tf.app.flags.DEFINE_integer('num_gpus', 1,
                            """How many GPUs to use.""")


def main(argv=None):
    print(FLAGS.max_steps)
    print(FLAGS.num_gpus)

if __name__ == '__main__':
  # the first param for argv is the program name
  tf.app.run(main=main, argv=['tensorflow_read_data', '--max_steps', '50', '--num_gpus', '20'])

標志通常用於解析命令行參數並保存輸入參數。 您可以用常數替換它們,但最好在標志的幫助下組織輸入參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM