tensorflow代码中tf.app.run()什么意思

在看别人的tensorflow代码时,经常会碰到最后的执行入口会写成下面这样:

# 前面的代码省略了...
。。。
。。。
。。。
def main(argv=None):
    mnist = input_data.read_data_sets("F:\mydata\TensorFlowData\MNIST_data", one_hot=True)
    train(mnist)

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

那么 tf.app.run()什么意思呢 ?
可以猜到,应该是函数入口,类似于c/c++中的main()
是的!
那么它的工作机制是怎样的呢 ?网上其他文章都是从源码角度来解释的,写得很好,但我没太看懂~
参见下面两个:
https://blog.csdn.net/helei001/article/details/51859423
https://blog.csdn.net/lujiandong1/article/details/53262612

大概意思是通过处理flag解析,然后执行main函数。

说白了,有两种情况:

  • 如果你的代码中的入口函数不叫main(),而是一个其他名字的函数,如test(),则你应该这样写入口tf.app.run(test())
  • 如果你的代码中的入口函数叫main(),则你就可以把入口写成tf.app.run()

https://stackoverflow.com/questions/33703624/how-does-tf-app-run-work

猜你喜欢

转载自blog.csdn.net/fxjzzyo/article/details/80466321