Skip to main content

L2L (Learning-to-learn) contains implementations of various gradient free optimization algorithms. It also makes it easy to optimize (hyper-)parameters for any task.

Project description

https://travis-ci.org/Meta-optimization/L2L.svg?branch=master https://app.circleci.com/pipelines/github/Meta-optimization/badge.svg https://circleci.com/gh/Meta-optimization/L2L.svg?style=svg https://coveralls.io/repos/github/Meta-optimization/L2L/badge.svg?branch=master

About

The L2L (Learning-to-learn) gradient-free optimization framework contains well documented and tested implementations of various gradient free optimization algorithms. It also defines an API that makes it easy to optimize (hyper-)parameters for any task (optimizee). All the implementations in this package are parallel and can run across different cores and nodes (but equally well on a single core).

NOTE: The L2L framework is currently in BETA

Getting Started

If you are developing a new Optimizee or want to try out a new Optimizee with the Optimizers in the L2L package, install L2L as a python package. See section Installing the L2L Package for details on how to install the package (this automatically installs all requirements).

Documentation is available at https://meta-optimizationl2l.readthedocs.io/en/latest/.

Installing the L2L Package

From the Top-Level directory of the directory, run the following command:

python -m pip install -e .

or alternatively (if you do not use a virtual environment)

python -m pip install -e . –user

The –user flag is to be used if you wish to install in the user path as opposed to the root path. However, we recommend to use a virtual enviornment, such as the standard Python env or conda env.

The above will install the package by creating symlinks to the code files in the relevant directory containing python modules. This means that you can change any of the code files and see the changes reflected in the package immediately (i.e. without requiring a reinstall). In order to uninstall one may run the following:

pip uninstall L2L

Note that if the setup was done using sudo access, then the uninstall must also be done using sudo access

Having installed this package, we now have access to the top level l2l module which contains all the relevant modules relevant for using the l2l package.

This should also install the sphinx package which should now enable you to build the documentation as specified below.

Building Documentation

Run the following command from the doc directory

make html

And open the documentation with

firefox _build/html/index.html

All further (and extensive) documentation is in the html documentation!

Invoking the tests

To run the tests go to the folder l2l/tests and execute:

python test_all.py

If the package nosetests is installed run on the top folder (L2L):

nosetests -v –with-coverage –cover-package=l2l/

Contributing to L2L

By contributing to this code you confirm that you understand that L2L follows an open development approach and is distributed under a GPL-3.0 license. This means you have also made sure that all your contributed code meets the requirements detailed in the contributing guidelines and does not breach the license of any other library or source of code.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

l2lforhpc-2.0.0b0.tar.gz (92.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

l2lforhpc-2.0.0b0-py3-none-any.whl (125.1 kB view details)

Uploaded Python 3

File details

Details for the file l2lforhpc-2.0.0b0.tar.gz.

File metadata

  • Download URL: l2lforhpc-2.0.0b0.tar.gz
  • Upload date:
  • Size: 92.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for l2lforhpc-2.0.0b0.tar.gz
Algorithm Hash digest
SHA256 c12aae5edd73d323dc842b87408c2276b7c4df421e84cb1b26960578e2dee06c
MD5 ed2cce93a7eca854859eb0a13a5613e9
BLAKE2b-256 0dd22f2a233548a529e1e276db89617af5e5d1060930f29f77488ed0885556c6

See more details on using hashes here.

File details

Details for the file l2lforhpc-2.0.0b0-py3-none-any.whl.

File metadata

  • Download URL: l2lforhpc-2.0.0b0-py3-none-any.whl
  • Upload date:
  • Size: 125.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for l2lforhpc-2.0.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c80c0c3ebb7bacafd8589a5bd38f691222c2d76bf8973480fa71f4720d1e81c
MD5 bd99f2d250933311055b86073b575077
BLAKE2b-256 d5bf1a5c9680b6ea87c53502c5e74415dc968e66ce0221e1b9d25f970fd7bf6c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page