在源代码中大量使用了tf.app.flags,Tensorflow中的tf.app.flags与argparse模块有点类似,通过它们都可以定义输入参数,用于支持接受命令行传递参数,相当于接受argv。
tf.app.flags有tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_boolean、tf.app.flags.DEFINE_integer等几类。
下面举个列子来说明怎么使用tf.app.flags。
import tensorflow as tf
# 第一个是参数名称,第二个参数是默认值(这里是‘model_dir’的路径),第三个是参数描述,如果不想描述可以直接用 ''
tf.app.flags.DEFINE_string('model_dir', 'AgeGenderDeepLearning-master/Folds/tf/test_fold_is_0/run-7656/',
"Model directory (where training data lives)")
tf.app.flags.DEFINE_integer('max_steps', 20000, "description")
tf.app.flags.DEFINE_boolean('single_look', False, "single look at the image or multiple crops")
FLAGS = tf.app.flags.FLAGS
def main(_):
print(FLAGS.model_dir)
print(FLAGS.max_steps)
print(FLAGS.single_look)
if __name__ == '__main__':
tf.app.run()
<