Tensorflow tf.app.flags 的使用

时间:2020-11-23 18:02:32

在执行main函数之前首先进行flags的解析,也就是说TensorFlow通过设置flags来传递tf.app.run()所需要的参数,我们可以直接在程序运行前初始化flags,也可以在运行程序的时候设置命令行参数来达到传参的目的。

下面是一个小demo

import tensorflow as tf

flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_string("name", "x1aolata", "name")
flags.DEFINE_integer("age", 23, "age")
flags.DEFINE_boolean("isMarried", None, "isMarried")
flags.DEFINE_float("score", 98.5, "score")


def main(_):
    print("name:{}".format(FLAGS.name))
    print("age:{}".format(FLAGS.age))
    print("isMarried:{}".format(FLAGS.isMarried))
    print("score:{}".format(FLAGS.score))


if __name__ == "__main__":
    tf.app.run()

flags.DEFINE_string这些就是定义参数
它的三个参数分别是参数名、默认值和参数说明。

直接运行,结果如下

name:x1aolata
age:23
isMarried:None
score:98.5

可以在命令行中给定参数运行

$ python test.py --name=小邋遢 --age=32

运行结果

name:小邋遢
age:32
isMarried:None
score:98.5