其实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输出结果如下: