美文网首页
TensorFlow中的自动微分

TensorFlow中的自动微分

作者: LabVIEW_Python | 来源:发表于2021-09-19 18:54 被阅读0次

自动微分可以极大的减少开发者实现反向传播算法的代码量,现在各家AI框架都有自动微分功能。TensorFlow的自动微分通过 tf.GradientTape API函数来实现,即计算tf.Variable的梯度。

TensorFlow 会将在 tf.GradientTape 上下文内执行的相关运算“记录”到“条带(Tape)”上,然后使用条带(Tape)通过反向模式微分计算“已记录的”计算的梯度

具体代码实现如下:

  • 第一步,利用带条(Tape)记录相关运算:
w = tf.Variable([[2.0]])
with tf.GradientTape() as tape:
    loss = w*w*w + 2*w*w
# d_loss = 3w*w + 4*w
d_loss = tape.gradient(loss, w)
print(grad)

范例代码:求Sine函数的微分

import tensorflow as tf 
import matplotlib.pyplot as plt

x = tf.linspace(-3.14,3.14,200+1)

with tf.GradientTape() as tape:
    tape.watch(x)
    y = tf.sin(x)

dy_dx = tape.gradient(y, x)
plt.plot(x,y,label='y')
plt.plot(x,dy_dx, label="dy_dx")
plt.legend()
plt.xlabel('x')
plt.show()
运行结果

相关文章

  • TensorFlow中的自动微分

    自动微分可以极大的减少开发者实现反向传播算法的代码量,现在各家AI框架都有自动微分功能。TensorFlow的自动...

  • 6、python教程进阶:tensorflow教程

    tensorflow教程 一、基本概念:张量、计算图、自动微分 1、张量 1)结构操作 创建、索引切片,维度变换,...

  • 自动微分及Tensorflow实现

      几乎所有机器学习算法在训练或预测时都可以归结为最优化问题的求解,如果目标函数可导,该问题转换为训练函数驻点求解...

  • 6 自动微分-阅读笔记(1)

    自动微分是tensorflow、pytorch和caffe带给我们最大的好处,这为深度学习的发展提供了巨大的便利性...

  • 神经网络中的自动微分与反向传播

    神经网络中的自动微分与反向传播 如果公式、图片显示有问题,请查看原文。 自动微分(Automatic Differ...

  • 4. 梯度与自动微分

    自动微分在神经网络的向后反馈等机器学习算法时常用到。 梯度计算 当需要反馈时,TensorFlow需要追踪操作是以...

  • TensorFlow vs PyTorch 4: 自动微分

    使用反向传播法训练神经网络时,模型的参数依据损失函数与对应参数的梯度来调整,即: model.parameters...

  • TensorFlow跟Python融合的很好了

    TensorFlow跟Python融合的很好了,非常好用,基本可以理解为是一个GPU版,带自动微分的Numpy。若...

  • TensorFlow2 自动微分机制

    神经网络通常依赖反向传播求梯度来更新网络参数,求梯度过程通常是一件非常复杂而容易出错的事情。而深度学习框架可以帮助...

  • 2 autograd

    1.自动微分(autograd)指南 2.Autograd:自动微分机制 PyTorch 中所有神经网络的核心是 ...

网友评论

      本文标题:TensorFlow中的自动微分

      本文链接:https://www.haomeiwen.com/subject/derpgltx.html