本文简要介绍 python 语言中 scipy.optimize.check_grad
的用法。
用法:
scipy.optimize.check_grad(func, grad, x0, *args, epsilon=1.4901161193847656e-08, direction='all', seed=None)#
通过将梯度函数与梯度的(前向)有限差分近似进行比较来检查梯度函数的正确性。
- func: 可调用
func(x0, *args)
要检查其导数的函数。
- grad: 可调用
grad(x0, *args)
函数的雅可比行列式。
- x0: ndarray
使用 func 检查 grad 与 grad 的正向差分近似值的要点。
- args: *args,可选
传递给 func 和 grad 的额外参数。
- epsilon: 浮点数,可选
用于有限差分逼近的步长。它默认为
sqrt(np.finfo(float).eps)
,大约为 1.49e-08。- direction: str,可选
如果设置为
'random'
,然后使用沿随机向量的梯度来检查毕业反对使用前向差分近似函数。默认情况下是'all'
,在这种情况下,所有一个热方向向量都被认为是检查毕业.如果函数是一个向量值函数,那么只有'all'
可以使用。- seed: {无,int,
numpy.random.Generator
,numpy.random.RandomState
},可选 如果种子是无(或np.random), 这
numpy.random.RandomState
使用单例。如果种子是一个 int,一个新的RandomState
使用实例,播种种子.如果种子已经是一个Generator
或者RandomState
实例然后使用该实例。指定种子用于重现此函数的返回值。使用此种子生成的随机数会影响计算梯度以检查的随机向量grad
.注意种子仅在以下情况下使用方向参数设置为‘random’.
- func: 可调用
- err: 浮点数
两者之差的平方和(即 2-范数)的平方根
grad(x0, *args)
和有限差分近似毕业在点处使用 funcx0.
参数 ::
返回 ::
例子:
>>> import numpy as np >>> def func(x): ... return x[0]**2 - 0.5 * x[1]**3 >>> def grad(x): ... return [2 * x[0], -1.5 * x[1]**2] >>> from scipy.optimize import check_grad >>> check_grad(func, grad, [1.5, -1.5]) 2.9802322387695312e-08 # may vary >>> rng = np.random.default_rng() >>> check_grad(func, grad, [1.5, -1.5], ... direction='random', seed=rng) 2.9802322387695312e-08
相关用法
- Python SciPy optimize.curve_fit用法及代码示例
- Python SciPy optimize.rosen_der用法及代码示例
- Python SciPy optimize.line_search用法及代码示例
- Python SciPy optimize.rosen用法及代码示例
- Python SciPy optimize.shgo用法及代码示例
- Python SciPy optimize.minimize_scalar用法及代码示例
- Python SciPy optimize.root用法及代码示例
- Python SciPy optimize.fmin用法及代码示例
- Python SciPy optimize.NonlinearConstraint用法及代码示例
- Python SciPy optimize.KrylovJacobian用法及代码示例
- Python SciPy optimize.toms748用法及代码示例
- Python SciPy optimize.linprog_verbose_callback用法及代码示例
- Python SciPy optimize.bracket用法及代码示例
- Python SciPy optimize.milp用法及代码示例
- Python SciPy optimize.diagbroyden用法及代码示例
- Python SciPy optimize.bisect用法及代码示例
- Python SciPy optimize.isotonic_regression用法及代码示例
- Python SciPy optimize.golden用法及代码示例
- Python SciPy optimize.brute用法及代码示例
- Python SciPy optimize.newton用法及代码示例
- Python SciPy optimize.fsolve用法及代码示例
- Python SciPy optimize.Bounds用法及代码示例
- Python SciPy optimize.fixed_point用法及代码示例
- Python SciPy optimize.rosen_hess用法及代码示例
- Python SciPy optimize.nnls用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.optimize.check_grad。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。