Tensorflow app.flags.DEFINE_XXX函数

最近在看一篇论文,其中源码涉及到Tensorflow,且其中含有app.flags.DEFINE_XXX函数,经自己实验发现:

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函数  

执行以下命令:

boolean 不加参数

1.python test.py --bool_name

输出:
default_value
10
True

boolean 加参数

2.python test.py --bool_name false
输出:
default_value
10
False

str不加参数

3.python test.py --str_name

输出:
usage: test.py [-h] [--str_name STR_NAME] [--int_name INT_NAME]
               [--bool_name [BOOL_NAME]] [--nobool_name]
test.py: error: argument --str_name: expected one argument

str加参数

4.python test.py --str_name 123.py

输出:
123.py
10
False

int不加参数

5.python test.py --int_name

输出:
usage: test.py [-h] [--str_name STR_NAME] [--int_name INT_NAME]
               [--bool_name [BOOL_NAME]] [--nobool_name]
test.py: error: argument --int_name: expected one argument

int加参数

6.python test.py --str_name 123.py

输出:
default_value
5
False

Conclusion

即三个函数里面只有boolean可以不加参数,其余两个都需要添加参数。同时如果--boolean不出现的话,会使用默认的值,但是如果--boolean出现了但是后面没有参数的话,会使用True。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值