tf.app.flags Tensorflow传参数, tf.app.run()的使用,FLAGS = tf.app.flags.FLAGS

tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。

执行main函数之前首先进行flags的解析,也就是说TensorFlow通过设置flags来传递tf.app.run()所需要的参数,我们可以直接在程序运行前初始化flags,也可以在运行程序的时候设置命令行参数来达到传参的目的。

对于tensorflow框架(接触的不多)含有

if __name__ == '__main__':
    tf.app.run()

这样的格式是固定的,并且  tf.app.run()是直接找main函数,所以主函数的名字也是固定的

flags = tf.app.flags
FLAGS = flags.FLAGS
#以下定义了好多个flag,第一个是参数名称,第二个参数是默认值,第三个是参数描述
DEFINE_string(flag_name, default_value, docstring) # string类型
DEFINE_integer(flag_name, default_value, docstring) # int类型
DEFINE_boolean(flag_name, default_value, docstring) # Bool类型 
DEFINE_float(flag_name, default_value, docstring)  # float类型

例如:

第一个是参数名称,第二个参数是默认值,第三个是参数描述
flags.DEFINE_string('logdir', None,'Path to logdir.')
flags.DEFINE_string('input_image', None,'Image to apply KittiSeg.')
flags.DEFINE_string('output_image', None,'Image to apply KittiSeg.')
tf.app.flags.DEFINE_integer('int_name', 10,"descript2")
tf.app.flags.DEFINE_boolean('bool_name', False, "descript3")
flags.DEFINE_string('gpus', None,
                    ('Which gpus to use. For multiple GPUs use comma seperated'
                     'ids. [e.g. --gpus 0,3]'))
if FLAGS.input_image is None:
    logging.error("No input_image was given.")
    logging.info(
        "Usage: python demo.py --input_image data/test.png "
        "[--output_image output_image] [--logdir /path/to/weights] "
        "[--gpus GPUs_to_use] ")
    exit(1)

传参的形式也是固定的:

# 对应上面设置的参数,传参的形式是:两个短横杠+参数名字+空格+要赋给参数的值--flag_name value
#传多个参数时,用空格隔开
--input_image data/demo.png --logdir /path/to/weights --gpus 0 --int_name 99 --bool_name True

关于tf.app.flags的详细参解https://blog.csdn.net/leiting_imecas/article/details/72367937

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值