Github 链接到 tensorflow 中新引入的 Eager 模块: https ://github.com/tensorflow/tensorflow/tree/master/tensorflow/c/eager https://github.com/tensorflow/tensorflow/tree/master/tensorflow/蟒蛇/渴望
4 回答
根据谷歌前实习生写的一篇文章tensorflow
eager mode
解释。
基本上,这是 tensorflow 中的一种模式,允许编写命令式编码风格,例如numpy
. 所以应该没有明确graph
的 , session
,session.run()
了。当代码像Chainer
/一样运行时,该图是隐式构建的PyTorch
。
它仍在积极开发中,性能仍然不如预期。您可以通过 nightly build on 尝试它,pip
同时期待一些有趣的新功能graph function
,例如允许将子图作为函数调用。随着框架的发展,这应该是tensorflow
.
更新: Tensorflow 团队已经正式谈论它。
急切执行是一个命令式的、由运行定义的接口,其中操作在从 Python 调用时立即执行。这使得 TensorFlow 上手更加容易,并且可以让研发更加直观。
无论是否启用了急切执行,绝大多数 TensorFlow API 都保持不变。因此,构建 TensorFlow 图的完全相同的代码(例如使用层 API)可以通过使用急切执行命令式地执行。相反,大多数启用 Eager 编写的模型都可以转换为可以进一步优化和/或提取以在生产中部署而不更改代码的图。
您可以在博客文章或自述文件中阅读更多相关信息。这仍然是一个预览版本,所以你可能会遇到一些粗糙的边缘。
期待您在试用时的反馈。
更新: Eager 模式现已在TF 1.7中正式发布。他们的网站上有一个很好的教程。我想现在每个人都知道它是什么,所有主要框架都在融合,动态神经网络。
更新: Eager 模式将是 TF 2.0 中的默认模式,下一个主要版本计划在2018 年晚些时候发布。
根据这些推文:
- https://twitter.com/oshtim/status/879453382326353920
- https://twitter.com/breandan/status/879455797641719809
- https://twitter.com/mtesfald/status/879455326432632832
Eager 是 tensorflow 中一种新的命令式模式(与contrib 中的命令式模块不同)。
急切执行是一个命令式的、由运行定义的接口,其中操作在从 Python 调用时立即执行。
访问https://research.googleblog.com/2017/10/eager-execution-imperative-define-by.html了解更多详细信息。
(准备在 1.5rc0 中运行)
用户指南:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/g3doc/guide.md
示例代码:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/eager/python/examples