HIPS/autograd

Efficiently computes derivatives of NumPy code.

What it solves

Autograd 简化了数学函数梯度计算的过程,免除手动推导与编写函数导数的需求。这主要用于机器学习与科学计算中的基于梯度的优化。

How it works

它提供了一层薄薄的 NumPy 包装,使其能够自动微分原生 Python 与 NumPy 代码。它支持反向模式微分(反向传播)以高效处理标量值函数,也支持前向模式微分,且可以任意组合以计算高阶导数(导数的导数)。

Who it’s for

从事基于梯度的优化、神经网络与科学模拟的研究人员和开发者,想要在不手动推导的情况下计算 Python/NumPy 代码的导数。

Highlights

  • Native Python Support: Handles loops, if-statements, recursion, and closures.
  • Higher-Order Derivatives: Ability to calculate derivatives of any order.
  • Flexible Modes: Supports both forward and reverse-mode differentiation.
  • Broad Application: Used for building neural networks (CNNs, RNNs, LSTMs) and backpropagating through fluid simulations.