本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。