打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TensorFlow推出命令式、可定义的运行接口Eager Execution

安妮 编译自 Google Research Blog

量子位 出品 | 公众号 QbitAI

今天凌晨,谷歌宣布推出TensorFlow的eager execution。这是一个命令式的、可定义的运行接口,它们由Python调用,可用来立即执行操作。

简单来说,eager execution有四大优势:

  • 立即快速调试运行错误并与Python工具集成

  • 支持用易用Python控制流的动态模型

  • 支持自定义和高阶梯度

  • 几乎所有TensorFlow操作均可用

我们可以通过一些代码更好理解eager execution,这是很技术的问题,熟悉TensorFlow将帮你更好理解。

使用eager execution

当启用eager execution时,操作将立即执行并将值返回给Python,无需调用session.run()。例如,把两个矩阵相乘,写出来是这样的:

用print或Python调试程序检查中间结果也很简单:

此外,还可以用Python flow控制构建动态模型。这是考拉兹猜想(Collatz conjecture)的一个例子,用到了TensorFlow中算术运算:

在这种情况下,用tf.constant(12)张量对象(即代码中的Tensor对象)将把所有数学运算推广到张量运算,并且所有返回值都是张量。

编写代码新变化

使用eager execution应该对当前TensorFlow用户来说更直观了。原因有多种,比如里面只有少数eager-specific API,并且大多数现有API和操作都支持eager。值得注意的还有以下几点:

  • 如果你还没用过tf.data做输入处理,应该着手学习一下了。它更容易使用,并且通常处理速度更快。

tf.data介绍

https://developers.googleblog.com/2017/09/introducing-tensorflow-datasets.html

  • 在使用如tf.layer.Conv2D()或Keras等面向对象的层时,它们可以显式存储变量。

  • 对大多数模型来说,你可以编写代码让它作用于eager execution和构建计算图。也有例外情况,比如用Python控制流根据输入改变计算。

  • 一旦调用了tfe.enable_eager_execution(),就无法关闭。如要获取计算图行为,需要启动新的Python会话。

参考资料及下载

谷歌研究博客地址:

https://research.googleblog.com/2017/10/eager-execution-imperative-define-by.html

GitHub代码地址:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/README.md

代码使用手册:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/contrib/eager/python/g3doc/guide.md

祝你玩得开心~

— 完 —

诚挚招聘

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在TensorFlow2.0发布前,帮你掌握TensorFlow的必备内容
tf.placeholder() is not compatible with eager execution 原因分析 解决方案
Tensorflow Eager Execution入门指南
关于TensorFlow你应该知道的9件事
PyTorch攻势凶猛,程序员正在抛弃TensorFlow?
深度学习框架的比较(MXNet, Caffe, TensorFlow, Torch, Theano)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服