tf.app.flags 定义命令行可选参数

  tensorflow 定义了tf.app.flags,它是用来支持接受命令行传递参数,相当于接受argv,其中tf.app.flags.DEFINE_xx()用来添加命令行的optional argument(可选参数),而tf.app.flags.FLAGS可以从对应的命令行参数取出相应的参数。
看代码:

import tensorflow as tf

FLAGS = tf.app.flags.FLAGS
tf.app.flags.DEFINE_float(
    'image_width', 534.8, 'input a float')
tf.app.flags.DEFINE_float(
    'image_height', 256.8, 'input a float')
tf.app.flags.DEFINE_integer(
    'image_nums', 100, 'input a int')
tf.app.flags.DEFINE_boolean(
    'Tureornot', True, 'input a bool')
tf.app.flags.DEFINE_string(
    'str', 'it is a batch', 'input a string')

print(FLAGS.image_width)
print(FLAGS.image_height)
print(FLAGS.image_nums)
print(FLAGS.Tureornot)
print(FLAGS.str)

输出结果:
 534.8
 256.8
 100
 True
 it is a batch

命令行执行示例:
这里写图片描述

 其实, 这就是对python原生命令行参数的一个封装,我们也可以用原生的方法:

if __name__ == "__main__":
    import argparse

    parser = argparse.ArgumentParser()

    parser.add_argument('--task', type=str, default='all', help='all, necrotic, edema, enhance')

    args = parser.parse_args()

    main(args.task)
阅读更多

扫码向博主提问

jeffery0207

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • tensorflow
  • python
  • django
去开通我的Chat快问

没有更多推荐了,返回首页