在tensorflow中使用tf.app.flags来定义参数,能够使得程序在使用命令行运行程序时,可以通过命令行添加程序参数。
import tensorflow as tf
#第一个是参数名称,第二个参数是默认值,第三个是参数描述
tf.app.flags.DEFINE_string('str_name', 'default_value',"description1")
tf.app.flags.DEFINE_integer('int_name', 10,"description2")
tf.app.flags.DEFINE_boolean('bool_name', False, "description3")
FLAGS = tf.app.flags.FLAGS
#必须带参数,否则:'TypeError: main() takes no arguments (1 given)'; main的参数名随意定义,无要求
def main(_):
print(FLAGS.str_name)
print(FLAGS.int_name)
print(FLAGS.bool_name)
if __name__ == '__main__':
tf.app.run() #执行main函数
以命令行运行程序时,不带参数运行,程序使用默认值;使用命令行赋初值时,就会调用使用命令行设置的值。