MindSpore

Design

  • MindSpore Design Overview
  • TENSOR VIEWS
  • Functional and Object-Oriented Fusion Programming Paradigm
  • Combination of Dynamic and Static Graphs
  • Static Graph Dynamic Shape
  • Distributed Parallel Native
  • High Performance Data Processing Engine
  • Full-scenarios Unified Architecture
  • Graph-Kernel Fusion Acceleration Engine
  • Third-Party Hardware Interconnection
  • Glossary

Models

  • Official Models

API

  • mindspore
  • mindspore.nn
  • mindspore.ops
  • mindspore.ops.primitive
  • mindspore.mint
  • mindspore.amp
  • mindspore.train
  • mindspore.communication
  • mindspore.communication.comm_func
  • mindspore.common.initializer
  • mindspore.hal
  • mindspore.dataset
  • mindspore.dataset.transforms
  • mindspore.mindrecord
  • mindspore.nn.probability
  • mindspore.rewrite
  • mindspore.multiprocessing
  • mindspore.boost
  • mindspore.numpy
  • mindspore.scipy
    • mindspore.scipy.linalg
    • mindspore.scipy.optimize
      • mindspore.scipy.optimize.line_search
      • mindspore.scipy.optimize.linear_sum_assignment
      • mindspore.scipy.optimize.minimize
  • mindspore.experimental

API Mapping

  • PyTorch and MindSpore API Mapping Table

Migration Guide

  • Overview of Migration Guide
  • Environment Preparation
  • Model Analysis and Preparation
  • Network Constructing Comparison
  • Debugging and Tuning
  • Network Migration Debugging Example
  • FAQs

Syntax Support

  • Static Graph Syntax Support
  • Static Graph Syntax - Operators
  • Static Graph Syntax - Python Statements
  • Static Graph Syntax - Python Built-in Functions
  • Tensor Index Support

Environment Variables

  • Environment Variables

FAQ

  • Installation
  • Data Processing
  • Implement Problem
  • Network Compilation
  • Operators Compile
  • Performance Tuning
  • Precision Tuning
  • Distributed Parallel
  • Inference
  • Feature Advice

RELEASE NOTES

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

mindspore.scipy.optimize.line_search

View Source On Gitee
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.

  • xk (Tensor) – initial guess.

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

  • jac (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.

  • 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:

GPU CPU

Examples

>>> import numpy as onp
>>> from mindspore.scipy.optimize import line_search
>>> from mindspore 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.