https://github.com/bccp/abopt
abopt (ABstract OPTimizer) - optimization of generic numerical models
https://github.com/bccp/abopt
Last synced: 10 months ago
JSON representation
abopt (ABstract OPTimizer) - optimization of generic numerical models
- Host: GitHub
- URL: https://github.com/bccp/abopt
- Owner: bccp
- License: gpl-3.0
- Created: 2016-11-28T02:59:26.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-02-25T17:03:50.000Z (over 5 years ago)
- Last Synced: 2023-08-07T05:40:12.972Z (almost 3 years ago)
- Language: Python
- Homepage:
- Size: 381 KB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
abopt
=====
abopt (ABstract OPTimizer) - optimization of generic numerical models
.. image:: https://travis-ci.org/bccp/abopt.svg?branch=master
:target: https://travis-ci.org/bccp/abopt
The package contains two components:
- optimize:
L-BFGS, TrustRegion, and a bunch of simpler optimizer like gradient descent.
- model:
vmad (Virtual Machine Automated Differentiation),
a differentiable state machine for forward modelling,
moved to https://github.com/rainwoodman/vmad
This is the second iteration of the design.
The current main interface is in `abopt.abopt2`.
The main difference between abopt and scipy's algorithm is that the inner product
and linear operators are supplied via a ``vectorspace`` object. The reason for
this is because on a distributed problem the inner product must do a global
reduction.
The usage involves defining a ``Problem``, then use an optimizer to minimize it.
The test suite are a good source of examples.
Things have been put together in more or less of a haste.
I have a feeling we may need a restructure at some point; the current way
of dealing with meta-parameters (e.g. trust region radius) is mutable and thus
awkward.