首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谷歌推出Tangent开源库,在Python源代码上做自动微分

李林 编译自 Google Research Blog 量子位 出品 | 公众号 QbitAI 谷歌今天推出了一个新的开源Python自动微分库:Tangent。...和现有的机器学习库不同,Tangent是一个源代码到源代码的系统,使用Python函数f,并用一个新的Python函数来计算f的梯度。...现有的机器学习库通过跟踪程序的执行(在运行时,比如TensorFlow Eager、PyTorch、Autograd),或者构建动态数据流图然后微分它(提前,比如TensorFlow)来实现自动微分。...对于那些不仅想用Python来写模型,还想在牺牲速度和灵活性的情况下来读取、调试自动生成的导数代码的研究人员和学生来说,Tangent非常有用。...Tangent也支持: 用TensorFlow Eager函数来处理数组 子例程 控制流 谷歌在博客文章中强调,虽然Tangent从支持TensorFlow Eager开始,但它并不和某一个库绑定,他们也愿意接受添加

96450

谷歌推出开源 Python 库“Tangent”,支持前向模式自动微分

据介绍,这个库与现有的机器学习库相比,存在诸多优势,可以大大改善了用户的使用体验。 AI研习社编译整理如下: Tangent 是一个全新的免费开源 Python 库,可以用于自动微分。...现有的库通过跟踪程序的执行过程来实现自动微分(如 TF Eager, PyTorch 和 Autograd),或者通过构建动态数据流图来进行微分(如 TensorFlow)。...对那些既想用 Python 编写模型,又想在读取和调试自动微分代码时牺牲速度和灵活性的研究人员和学生来说,Tangent 非常有用。...Tangent 有一个庞大的 Python 句法求导方法库,类似于 TensorFlow Eager 函数。...Tangent 也支持以下功能: 使用 TensorFlow Eager 函数处理阵列 子程序 控制流 虽然一开始就能利用 TensorFlow Eager,但 Tangent 并没有与数值库相关联,我们也很乐意看到

95150
您找到你想要的搜索结果了吗?
是的
没有找到

开发 | 谷歌推出开源 Python 库“Tangent”,支持前向模式自动微分

据介绍,这个库与现有的机器学习库相比,存在诸多优势,可以大大改善了用户的使用体验。 AI科技评论编译整理如下: Tangent 是一个全新的免费开源 Python 库,可以用于自动微分。...现有的库通过跟踪程序的执行过程来实现自动微分(如 TF Eager, PyTorch 和 Autograd),或者通过构建动态数据流图来进行微分(如 TensorFlow)。...对那些既想用 Python 编写模型,又想在读取和调试自动微分代码时牺牲速度和灵活性的研究人员和学生来说,Tangent 非常有用。...Tangent 有一个庞大的 Python 句法求导方法库,类似于 TensorFlow Eager 函数。...Tangent 也支持以下功能: 使用 TensorFlow Eager 函数处理阵列 子程序 控制流 虽然一开始就能利用 TensorFlow Eager,但 Tangent 并没有与数值库相关联,我们也很乐意看到

82250

PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?

TensorFlow Eager 在 API 层面上,TensorFloweager 模式与 PyTorch 的 eager 模式基本相同,最初是由 Chainer 发明的。...加入 eager 模式之后,TensorFlow 就拥有了 PyTorch eager 模式的大部分优势(易用、可调试等)。 但这也给 TensorFlow 带来了相同的劣势。...因此,TensorFloweager 模式也不是万能的。...在默认情况下启用 eager 模式时,TensorFlow 强迫用户做出选择,要么为了易用性使用 eager 执行,这种做法需要为了部署重写;要么彻底不用 eager 执行。...TensorFlowEager 模式能否在可用性上赶超 PyTorch?我的感觉是,TensorFlow Eager 模式严重受性能/内存问题的影响,并且有自己的问题。

64630

PyTorch称霸学界,TensorFlow固守业界,ML框架之争将走向何方?

TensorFlow Eager 在 API 层面上,TensorFloweager 模式与 PyTorch 的 eager 模式基本相同,最初是由 Chainer 发明的。...加入 eager 模式之后,TensorFlow 就拥有了 PyTorch eager 模式的大部分优势(易用、可调试等)。 但这也给 TensorFlow 带来了相同的劣势。...因此,TensorFloweager 模式也不是万能的。...在默认情况下启用 eager 模式时,TensorFlow 强迫用户做出选择,要么为了易用性使用 eager 执行,这种做法需要为了部署重写;要么彻底不用 eager 执行。...TensorFlowEager 模式能否在可用性上赶超 PyTorch?我的感觉是,TensorFlow Eager 模式严重受性能/内存问题的影响,并且有自己的问题。

65711

2019机器学习框架之争:与Tensorflow竞争白热化,进击的PyTorch赢在哪里?

架构「融合」 2018年末,两件大事彻底改变了这一局面: PyTorch引入了JIT编译器和“TorchScript”,从而引入了基于图的特性; TensorFlow宣布他们将在2.0版本中默认转移到Eager...TensorFlow Eager 在API级别上,TensorFlow Eager模式基本上与PyTorch Eager模式相同,后者最初由Chainer推出,这为TensorFlow提供了PyTorchEager...因此,TensorFlowEager模式并不能真正做到“两全其美”。...在默认启用Eager模式时,TensorFlow将强迫用户做出选择——为了便于使用Eager执行,并且需要为部署重写,或者根本不使用急于执行。...TensorFlow正试图在牺牲太多产业优势的情况下,更多的参与到研究领域。 PyTorch要在行业中产生有意义的影响肯定还需要很长时间,毕竟TensorFlow在产业界的影响力已经根深蒂固。

69731

Eager Mode,写在TensorFlow 2.0 到来之前

Eager Mode 推出之前,基于TensorFlow的程序使用的静态计算图,计算过程首先被编译成一个有向无环图。...这种模式下模型的计算性能得到了保证,但是却大大牺牲了灵活性,如果对计算图进行修改,则在每个session执行计算之前将会要重新编译计算图,会带了额外的开销。...即可查看模型运行结果或者测试修改,支持使用标准的Python调试工具 简化了程序逻辑设计,可以使用Python的控制流不是图控制流 虽然相较于静态图的模式有很大不同,但是在Eager Mode下,同样可以使用大部分之前...模型的保存部分则可以使用与常规模式下相同的tf.train.Saver完成。接下来以MNIST数据集为例来进行模型的创建以及训练。...官方文档中也提到在运行计算密集型的网络时,Eager Mode下的执行速度才会跟图模式相差无几。

82010

入门 | TensorFlow的动态图工具Eager怎么用?这是一篇极简教程

选自Github 作者:Madalina Buzau 机器之心编译 参与:王淑婷、泽南 去年 11 月,Google Brain 团队发布了 Eager Execution,一个由运行定义的新接口,...Eager 的出现使得开发变得更为直观,从而让 TensorFlow 的入门难度大为降低。本文介绍了使用 TensorFlow Eager 构建神经网络的简单教程。...项目链接:https://github.com/madalinabuzau/tensorflow-eager-tutorials 本文旨在帮助那些希望通过 TensorFlow Eager 模式获得深度学习实践经验的人...构建一个简单的神经网络——下图将教你如何在一个合成生成的数据集上用 TensorFlow Eager 模式构建和训练一个单隐藏层神经网络。 ? 02....在 Eager 模式使用度量——下图将教你针对三种不同的机器学习问题(多分类、不平衡数据集和回归),如何使用Eager 模式兼容的度量。 简单但实用的知识 03.

70400

Tensorflow Eager Execution入门指南

【导读】本文介绍了最新版的Tensorflow 1.7的功能及其使用方法,重点介绍其中最有趣的功能之一eager_execution,它许用户在创建静态图的情况下运行tensorflow代码。...作者 | Keshav Aggarwal 编译 | 专知 参与 | Yingying, Hujun 专知在以前就推出过TensorFlow 1.4 Eager Execution系列教程,欢迎查看。...最有趣的功能之一是eager_execution,允许用户在创建图形的情况下运行tensorflow代码。 让我们尝试一个简单的程序: ? 注意输出是一个张量不是实际的数组本身。...现在通过使用tf.enable_eager_execution()可以获得实际值。在eager_execution中,操作的输出将是实际值不是张量。...所以声明一个Tensorflow变量会引发一个错误,应该使用tf.contrib.eager.Variable。 这意味着我们不能在已有程序中使用eager execution,并希望它能够工作。

1.5K130

业界 | 谷歌开源「Tangent」:一个用于自动微分的源到源Python库(附API概述)

目前已有的库通过追踪程序的执行(在运行时,比如 TF Eager、PyTorch 和 Autograd)或建立动态数据流图然后对图微分(预编,比如 TensorFlow),实现自动微分。...用 Tangent 编写的模型易于检查和调试,不需要特殊的工具或间接的方式。...Tangent 有一个 Python 句法导数和 TensorFlow Eager 函数的大型方法库。...Tangent 同样支持 使用 TensorFlow Eager 函数处理数字数组 子程序 控制流 尽管我们从 TensorFlow Eager 支持开始,Tangent 并没有受限于任何数字库,...我们正致力于在 Tangent 支持 Python 语言的更多属性(比如闭包、内嵌函数定义、类、更多的 Numpy 和 TensorFlow 函数),同样计划在未来添加更多高级的自动微分和编译功能,比如内存与计算之间的自动博弈

95980

TensorFlow引入了动态图机制Eager Execution

选自Google Brain 作者:Asim Shankar & Wolff Dobson 机器之心编译 PyTorch 的动态图一直是 TensorFlow 用户求之不得的功能,谷歌也一直试图在 TensorFlow...幸运的是,PyTorch 满足了研究员的需求,并且如今的 TensorFlow 也官方支持执行模式不需要定义图。...使用已有的基于图的代码 如果你的代码不依赖于特定的 API,例如 graph_editor,你可以使用现有的代码并在 eager execution 模式下运行。...做纯矩阵乘法(超过 1 毫秒的时间)是没有太大的差别,无论你用 tensorflow 快速模式,pytorch 或 tensorflow 经典模式。 ? 另一方面,端到端的例子更易受影响。.../@yaroslavvb/tensorflow-meets-pytorch-with-eager-mode-714cce161e6c 本文为机器之心编译,转载请联系本公众号获得授权。

1.8K110

PyTorch攻势凶猛,程序员正在抛弃TensorFlow

Tensorflow Eager 在 API 层面,TensorFlow Eager 模式与 PyTorch 的Eager 模式基本相同,该模式最初因为 Chainer 流行起来。...这为 TensorFlow 提供了 PyTorch Eager 模式的大多数优势(易于使用,可调试性等)。 但是,这也给 TensorFlow 带来了同样的缺点。...(图12-4 TensorFlow 如何使用 autograph 和跟踪生成图像) 因此,TensorFlowEager 模式并不能真正为你提供“两全其美”的体验。...默认情况下,在启用 Eager 模式时,TensorFlow 会强制用户进行选择——使用 eager execution 以简化使用并需要重写以进行部署,或者完全不使用 eager execution。...TensorFloweager 模式能否赶上 PyTorch 的可用性?

54900

业界 | 谷歌开源「Tangent」:一个用于自动微分的源到源Python库(附API概述)

目前已有的库通过追踪程序的执行(在运行时,比如 TF Eager、PyTorch 和 Autograd)或建立动态数据流图然后对图微分(预编,比如 TensorFlow),实现自动微分。...用 Tangent 编写的模型易于检查和调试,不需要特殊的工具或间接的方式。...Tangent 有一个 Python 句法导数和 TensorFlow Eager 函数的大型方法库。...Tangent 同样支持 使用 TensorFlow Eager 函数处理数字数组 子程序 控制流 尽管我们从 TensorFlow Eager 支持开始,Tangent 并没有受限于任何数字库,...我们正致力于在 Tangent 支持 Python 语言的更多属性(比如闭包、内嵌函数定义、类、更多的 Numpy 和 TensorFlow 函数),同样计划在未来添加更多高级的自动微分和编译功能,比如内存与计算之间的自动博弈

1.2K60

Keras vs PyTorch,哪一个更适合做深度学习?

选自Medium 作者:Karan Jakhar 机器之心编译 参与:小舟、魔王 如何选择工具对深度学习初学者是个难题。本文作者以 Keras 和 Pytorch 库为例,提供了解决该问题的思路。...但是当你认真开发一个项目时,这些事应该提前计划好。 每天都会有新的框架和工具投入市场,最好的工具能够在定制和抽象之间做好平衡。工具应该和你的思考方式和代码样式同步。...这两个工具最大的区别在于:PyTorch 默认为 eager 模式 Keras 基于 TensorFlow 和其他框架运行(现在主要是 TensorFlow),其默认模式为图模式。...最新版本的 TensorFlow 也提供类似 PyTorch 的 eager 模式,但是速度较慢。 如果你熟悉 NumPy,你可以将 PyTorch 视为有 GPU 支持的 NumPy。...在 Keras(TensorFlow)上,我们首先需要定义要使用的东西,然后立刻运行。在 Keras 中,我们无法随时随地进行试验,不过 PyTorch 可以。 ? 以上的代码用于训练和评估模型。

34830

Keras vs PyTorch,哪一个更适合做深度学习?

选自Medium 作者:Karan Jakhar 机器之心编译 参与:小舟、魔王 如何选择工具对深度学习初学者是个难题。本文作者以 Keras 和 Pytorch 库为例,提供了解决该问题的思路。...但是当你认真开发一个项目时,这些事应该提前计划好。 每天都会有新的框架和工具投入市场,最好的工具能够在定制和抽象之间做好平衡。工具应该和你的思考方式和代码样式同步。...这两个工具最大的区别在于:PyTorch 默认为 eager 模式 Keras 基于 TensorFlow 和其他框架运行(现在主要是 TensorFlow),其默认模式为图模式。...最新版本的 TensorFlow 也提供类似 PyTorch 的 eager 模式,但是速度较慢。 如果你熟悉 NumPy,你可以将 PyTorch 视为有 GPU 支持的 NumPy。...在 Keras(TensorFlow)上,我们首先需要定义要使用的东西,然后立刻运行。在 Keras 中,我们无法随时随地进行试验,不过 PyTorch 可以。 ? 以上的代码用于训练和评估模型。

1.5K20

谷歌重磅发布TensorFlow 2.0正式版,高度集成Keras,大量性能改进

Eager Execution 的常规 Python 开发。...: 使用 Keras 和 eager 模式进行更新 在任何平台上都可以进行稳健的模型部署 性能更好的研究实验 简化多种 API 重大更新 许多后端兼容的 API 更新已经被清理,使得它们更为稳定,更改的...如果需要使用默认属性用于模型,可使用 tf.compat.v1.Estimator; 特征栏已经更新,更适合 Eager 模式,并能够和 Keras 一起使用。...的搭建和编译模型也非常简单,基本就是调用已有的成熟方法就行了。...其中搭建模型架构可以像堆积木那样完成,编译只需要给定最优化器、损失函数和度量方法三个关键要素就行了。 ? 下面,我们可以看看模型训练与评估的风格。

1.1K30
领券