tensorflow学习笔记十四:tensorflow中的tf.app.run()

来源:互联网 发布:程序员的思维修炼 txt 编辑:程序博客网 时间:2024/05/22 03:08

在上一篇文章中看到源代码,有些疑惑,tf.app.run()原理,这篇我看了一下原理。

1、tensorflow的程序中,在main函数下,都是使用tf.app.run()来启动

[python] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. if __name__ == "__main__":  
  2.   tf.app.run()  

2、查看源码可知,该函数是用来处理flag解析,然后执行main函数,那么flag解析是什么意思呢?诸如这样的:

[python] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. """Generic entry point script."""  
  2. from __future__ import absolute_import  
  3. from __future__ import division  
  4. from __future__ import print_function  
  5.   
  6. import sys  
  7.   
  8. from tensorflow.python.platform import flags  
  9.   
  10.   
  11. def run(main=None, argv=None):  
  12.   """Runs the program with an optional 'main' function and 'argv' list."""  
  13.   f = flags.FLAGS  
  14.   
  15.   # Extract the args from the optional `argv` list.  
  16.   args = argv[1:] if argv else None  
  17.   
  18.   # Parse the known flags from that list, or from the command  
  19.   # line otherwise.  
  20.   # pylint: disable=protected-access  
  21.   flags_passthrough = f._parse_flags(args=args)  
  22.   # pylint: enable=protected-access  
  23.   
  24.   main = main or sys.modules['__main__'].main  
  25.   
  26.   # Call the main function, passing through any arguments  
  27.   # to the final program.  
  28.   sys.exit(main(sys.argv[:1] + flags_passthrough))  
16 1