在看别人的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

GitHub 加速计划 / te / tensorflow
184.55 K
74.12 K
下载
一个面向所有人的开源机器学习框架
最近提交(Master分支:2 个月前 )
a49e66f2 PiperOrigin-RevId: 663726708 2 个月前
91dac11a This test overrides disabled_backends, dropping the default value in the process. PiperOrigin-RevId: 663711155 2 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐