tf.app.flags命令行参数解析模块
说道命令行参数解析,就不得不提到 python 的 argparse 模块,详情可参考我之前的一篇文章:python argparse 模块命令行参数用法及说明。
在阅读相关工程的源码时,很容易发现 tf.app.flags 模块的身影。其作用与 python 的 argparse 类似。
直接上代码实例,新建一个名为 test_flags.py 的文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
上述代码已给出较为详细的注释,在此不再赘述。
该文件的调用示例以及运行结果如下所示
如果需要修改默认参数的值,则在命令行传入自定义参数值即可,若全部使用默认参数值,则可直接在命令行运行该 python 文件。
读者可能会对 tf.app.run() 有些疑问,在上述注释中也有所解释,但要真正弄清楚其运行原理
还需查阅其源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
flags_passthrough=f._parse_flags(args=args)
这里的_parse_flags
就是我们tf.app.flags
源码中用来解析命令行参数的函数。
所以这一行就是解析参数的功能;
下面两行代码也就是 tf.app.run 的核心意思:执行程序中 main 函数,并解析命令行参数!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章: