jax.experimental.sparse.value_and_grad#

jax.experimental.sparse.value_and_grad(fun, argnums=0, has_aux=False, **kwargs)[源代码]#

jax.value_and_grad()的稀疏感知版本

参数和返回值与jax.value_and_grad()相同,但当对jax.experimental.sparse数组求梯度时,梯度是在数组的稀疏模式定义的子空间中计算的。

示例

>>> from jax.experimental import sparse
>>> X = sparse.BCOO.fromdense(jnp.arange(6.))
>>> y = jnp.ones(6)
>>> sparse.value_and_grad(lambda X, y: X @ y)(X, y)
(Array(15., dtype=float32), BCOO(float32[6], nse=5))
参数:
  • fun (可调用对象)

  • argnums (int | Sequence[int])

返回类型:

Callable[…, tuple[Any, Any]]