和C/C++编写main函数中的argv一样,tf框架下也封装了tf.app.flags.DEFINE_XXXX()函数用于定义参数,便于命令行形式传递参数。常见的函数形式如下:

flags.DEFINE_float(参数1,参数2,参数3)  
flags.DEFINE_integer(参数1,参数2,参数3)  
flags.DEFINE_string(参数1,参数2,参数3) 
flags.DEFINE_boolean(参数1,参数2,参数3) 

参数1:定义的参数名称;

参数2:参数默认值;

参数3:对参数的描述;

tf.app.flags.DEFINE_boolean('train', FALSE,'train or test') #定义布尔类型的值,判断网络是训练还是测试
tf.app.flags.DEFINE_string('check_points_dir', './model/','check_points dir') #模型保存路径 
tf.app.flags.DEFINE_integer('epoch', 50,'train epoch size') #定义的epoch大小,默认为50
FLAGS = tf.app.flags.FLAGS
def main(XXXX): 
    XXXX
   # 在调用参数时,一般如下使用;FLAGS.参数
   FLAGS.epoch
if __name__ == '__main__': XXXX #执行main