Advertisement

PyTorch支持高效的自动生成梯度计算

阅读量:

PyTorch中的自动微分

  • 目标
  • PyTorch中的自动微分
  • 参考资料

目标

通过本篇文章的学习后,您将能够深入理解PyTorch中的反向传播机制,文章会详细阐述这一过程的实现原理.

PyTorch中的自动微分

在PyTorch库中的autograd模块中实现了对任意标量值函数进行自动求导功能的类与函数集合。对于一个张量而言,在调用相关计算后即可获取其在整个传播过程中所涉及的梯度(导数)信息;特别地,在设置该张量对应的参数为requires_grad=True后就能直接获得这些梯度信息

使用PyTorch库生成矩阵张量x,并定义标量变量y为对所有元素平方后加上四倍该元素再加二的总和;随后计算其关于x的梯度即完成导数求解过程

复制代码
    import torch
    
    x = torch.tensor([[1.0, 2.0], [3.0, 4.0]], requires_grad=True)
    # 默认requires_grad=False
    y = torch.sum(x**2+4*x+1)
    print("x是否可导:", x.requires_grad)
    print("y是否可导:", y.requires_grad)
    print("x:", x)
    print(

全部评论 (0)

还没有任何评论哟~