其实tensorflow中tf.app.flags与argparse模块有点类似,通过它们都可以定义输入参数。现在给出tf.app.flags的用法例子。
import tensorflow as tf # 第一个是参数名称,第二个参数是默认值,第三个是参数描述 tf.app.flags.DEFINE_string('my_name', 'Robert', "description1") tf.app.flags.DEFINE_integer('int_name', 10, "description2") tf.app.flags.DEFINE_boolean('bool_name', False, "description3") FLAGS = tf.app.flags.FLAGS def main(_): print(FLAGS.my_name) print(FLAGS.int_name) print(FLAGS.bool_name) if __name__ == '__main__'
tf.app.run() # 执行main函数
注释:当程序tf.app.run()函数市,它会跳到main(_)中执行,通过tf.app.flags.DEFINE_string()函数来增加变量,mian(_)里面通过FLAGS.加上你上面增加的参数名字来引用变量。如
FLAGS.my_name来调用变量。
运行kai.py,运行结果见上面。这里只是通过默认参数,现在我们输入参数,通过如下指令:python kai.py --my_name cao --init_name 80 --bool_name True
输出结果如下: