mindspore.scipy.optimize.minimize
- mindspore.scipy.optimize.minimize(func, x0, args=(), *, method, tol=None, options=None)[source]
- Minimization of scalar function of one or more variables. - This API for this function matches SciPy with some minor deviations: - Gradients of - funcare calculated automatically using MindSpore’s autodiff support when required.
- The - methodargument is required. You must specify a solver.
- Various optional arguments in the SciPy interface have not yet been implemented. 
- Optimization results may differ from SciPy due to differences in the line search implementation. 
 - It does not yet support differentiation or arguments in the form of multi-dimensional Tensor, but support for both is planned. - Parameters
- func (Callable) – the objective function to be minimized, \(fun(x, *args) -> float\), where x is a 1-D array with shape \((n,)\) and args is a tuple of the fixed parameters needed to completely specify the function. fun must support differentiation. 
- x0 (Tensor) – initial guess. Array of real elements of size \((n,)\), where n is the number of independent variables. 
- args (Tuple) – extra arguments passed to the objective function. Default: (). 
- method (str) – solver type. Currently only “BFGS” is supported. 
- tol (float, optional) – tolerance for termination. For detailed control, use solver-specific options. Default: None. 
- options (Mapping[str, Any], optional) – - a dictionary of solver options. All methods accept the following generic options, Default: None. - maxiter (int): Maximum number of iterations to perform. Depending on the method each iteration may use several function evaluations. 
 
 
- Returns
- OptimizeResults, object holding optimization results. 
 - Supported Platforms:
- CPU- GPU
 - Examples - >>> import numpy as onp >>> from mindspore.scipy.optimize import minimize >>> from mindspore.common import Tensor >>> x0 = Tensor(onp.zeros(2).astype(onp.float32)) >>> def func(p): >>> x, y = p >>> return (x ** 2 + y - 11.) ** 2 + (x + y ** 2 - 7.) ** 2 >>> res = minimize(func, x0, method='BFGS', options=dict(maxiter=None, gtol=1e-6)) >>> res.x Tensor(shape=[2], dtype=Float32, value= [ 3.00000000e+00, 2.00000000e+00])