MindSpore

Design

  • Functional Differential Programming
  • Distributed Training Design
  • MindSpore IR (MindIR)
  • Second Order Optimizer
  • Design of Visualization↗
  • Glossary

Specification

  • Benchmarks
  • Network List↗
  • API List
  • Syntax Support

API

  • mindspore
  • mindspore.amp
  • mindspore.common.initializer
  • mindspore.communication
  • mindspore.dataset
  • mindspore.dataset.audio
  • mindspore.dataset.config
  • mindspore.dataset.text
  • mindspore.dataset.transforms
  • mindspore.dataset.vision
  • mindspore.mindrecord
  • mindspore.nn
  • mindspore.nn.probability
  • mindspore.nn.transformer
  • mindspore.numpy
  • mindspore.ops
  • mindspore.ops.function
  • mindspore.rewrite
  • mindspore.scipy
    • mindspore.scipy.linalg
    • mindspore.scipy.optimize
      • mindspore.scipy.optimize.line_search
      • mindspore.scipy.optimize.minimize
    • mindspore.scipy.sparse.linalg
  • mindspore.boost
  • C++ API↗

API Mapping

  • PyTorch and MindSpore API Mapping Table
  • TensorFlow and MindSpore API Mapping Table

Migration Guide

  • Overview
  • Environment Preparation and Information Acquisition
  • Model Analysis and Preparation
  • Constructing MindSpore Network
  • Debugging and Tuning
  • Network Migration Debugging Example
  • FAQs
  • Differences Between MindSpore and PyTorch
  • Using Third-party Operator Libraries Based on Customized Interfaces

FAQ

  • Installation
  • Data Processing
  • Implement Problem
  • Network Compilation
  • Operators Compile
  • Migration from a Third-party Framework
  • Performance Tuning
  • Precision Tuning
  • Distributed Configuration
  • Inference
  • Feature Advice

RELEASE NOTES

  • Release Notes
MindSpore
  • »
  • mindspore.scipy »
  • mindspore.scipy.optimize.line_search
  • View page source

mindspore.scipy.optimize.line_search

mindspore.scipy.optimize.line_search(f, xk, pk, jac=None, gfk=None, old_fval=None, old_old_fval=None, c1=0.0001, c2=0.9, maxiter=20)[source]

Inexact line search that satisfies strong Wolfe conditions.

Algorithm 3.5 from Wright and Nocedal, ‘Numerical Optimization’, 1999, pg. 59-61

Note

line_search is not supported on Windows platform yet.

Parameters
  • f (function) – function of the form f(x) where x is a flat Tensor and returns a real scalar. The function should be composed of operations with vjp defined.

  • gf (function) – the gradient function at x where x is a flat Tensor and returns a Tensor. The function can be None if you want to use automatic credits.

  • xk (Tensor) – initial guess.

  • pk (Tensor) – direction to search in. Assumes the direction is a descent direction.

  • gfk (Tensor) – initial value of value_and_gradient as position. Default: None.

  • old_fval (Tensor) – The same as gfk. Default: None.

  • old_old_fval (Tensor) – unused argument, only for scipy API compliance. Default: None.

  • c1 (float) – Wolfe criteria constant, see ref. Default: 1e-4.

  • c2 (float) – The same as c1. Default: 0.9.

  • maxiter (int) – maximum number of iterations to search. Default: 20.

Returns

LineSearchResults, results of line search results.

Supported Platforms:

CPU GPU

Examples

>>> import numpy as onp
>>> from mindspore.scipy.optimize import line_search
>>> from mindspore.common import Tensor
>>> x0 = Tensor(onp.ones(2).astype(onp.float32))
>>> p0 = Tensor(onp.array([-1, -1]).astype(onp.float32))
>>> def func(x):
>>>     return x[0] ** 2 - x[1] ** 3
>>> res = line_search(func, x0, p0)
>>> print(res.a_k)
1.0
Previous Next

© Copyright MindSpore.

Built with Sphinx using a theme provided by Read the Docs.