Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.

License

NotificationsYou must be signed in to change notification settings

zuoxingdong/lagom

Repository files navigation

lagom

A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.

lagom is a 'magic' word in Swedish,inte för mycket och inte för lite, enkelhet är bäst (not too much and not too little, simplicity is often the best). It is the philosophy on which this library was designed.

Why to use lagom ?

lagom balances between the flexibility and the usability when developing reinforcement learning (RL) algorithms. The library is built on top ofPyTorch and provides modular tools to quickly prototype RL algorithms. However, it does not go overboard, because too low level is often time consuming and prone to potential bugs, while too high level degrades the flexibility which makes it difficult to try out some crazy ideas fast.

We are continuously makinglagom more 'self-contained' to set up and run experiments quickly. It internally supports base classes for multiprocessing (master-worker framework) for parallelization (e.g. experiments and evolution strategies). It also supports hyperparameter search by defining configurations either as grid search or random search.

Table of Contents

Installation

We highly recommand using an Miniconda environment:

conda create -n lagom python=3.7

Install dependencies

pip install -r requirements.txt

We also provide some bash scripts inscripts/ directory to automatically set up the system configurations, conda environment and dependencies.

Install lagom from source

git clone https://github.com/zuoxingdong/lagom.gitcd lagompip install -e.

Installing from source allows to flexibly modify and adapt the code as you pleased, this is very convenient for research purpose.

Documentation

The documentation hosted by ReadTheDocs is available online athttp://lagom.readthedocs.io

RL Baselines

We implemented a collection of standard reinforcement learning algorithms atbaselines using lagom.

How to use lagom

A common pipeline to uselagom can be done as following:

  1. Define yourRL agent
  2. Define yourenvironment
  3. Define yourengine for training and evaluating the agent in the environment.
  4. Define yourConfigurations for hyperparameter search
  5. Definerun(config, seed, device) for your experiment pipeline
  6. Callrun_experiment(run, config, seeds, num_worker) to parallelize your experiments

A graphical illustration is coming soon.

Examples

We provide a few simpleexamples.

Test

We are usingpytest for tests. Feel free to run via

pytesttest -v

What's new

  • 2019-03-04 (v0.0.3)

    • Much easier and cleaner APIs
  • 2018-11-04 (v0.0.2)

    • More high-level API designs
    • More unit tests
  • 2018-09-20 (v0.0.1)

    • Initial release

Reference

This repo is inspired byOpenAI Gym,OpenAI baselines,OpenAI Spinning Up

Please use this bibtex if you want to cite this repository in your publications:

@misc{lagom,      author = {Zuo, Xingdong},      title = {lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms},      year = {2018},      publisher = {GitHub},      journal = {GitHub repository},      howpublished = {\url{https://github.com/zuoxingdong/lagom}},    }

[8]ページ先頭

©2009-2025 Movatter.jp