Commit graph

42 commits

Author SHA1 Message Date
Antonin RAFFIN
23afedb254
Auto-formatting with black and isort (#97)
* Add auto formatting with black and isort

* Reformat code

* Ignore typing errors

* Add note about line length

* Add minimum version for isort

* Add commit-checks

* Update docker image

* Fixed lost import (during last merge)

* Fix opencv dependency
2020-07-16 16:12:16 +02:00
Antonin RAFFIN
5ff176b2f1
Implement DDPG (#92)
* Add DDPG + TD3 with any number of critics

* Allow any number of critics for SAC

* Update doc

* [ci skip] Update DDPG example

* Remove unused parameter

* Add DDPG to identity test

* Fix computation with n_critics=1,3

* Update doc

* Apply suggestions from code review

Co-authored-by: Adam Gleave <adam@gleave.me>

* Update docstrings for off-policy algos

* Add check for sde

Co-authored-by: Adam Gleave <adam@gleave.me>
2020-07-16 14:14:22 +02:00
Noah
96b771f24e
Implement DQN (#28)
* Created DQN template according to the paper.
Next steps:
- Create Policy
- Complete Training
- Debug

* Changed Base Class

* refactor save, to be consistence with overriding the excluded_save_params function. Do not try to exclude the parameters twice.

* Added simple DQN policy

* Finished learn and train function
- missing correct loss computation

* changed collect_rollouts to work with discrete space

* moved discrete space collect_rollouts to dqn

* basic dqn working

* deleted SDE related code

* added gradient clipping and moved greedy policy to policy

* changed policy to implement target network
and added soft update(in fact standart tau is 1 so hard update)

* fixed policy setup

* rebase target_update_intervall on _n_updates

* adapted all tests
all tests passing

* Move to stable-baseline3

* Fixes for DQN

* Fix tests + add CNNPolicy

* Allow any optimizer for DQN

* added some util functions to create a arbitrary linear schedule, fixed pickle problem with old exploration schedule

* more documentation

* changed buffer dtype

* refactor and document

* Added Sphinx Documentation
Updated changelog.rst

* removed custom collect_rollouts as it is no longer necessary

* Implemented suggestions to clean code and documentation.

* extracted some functions on tests to reduce duplicated code

* added support for exploration_fraction

* Fixed exploration_fraction

* Added documentation

* Fixed get_linear_fn -> proper progress scaling

* Merged master

* Added nature reference

* Changed default parameters to https://www.nature.com/articles/nature14236/tables/1

* Fixed n_updates to be incremented correctly

* Correct train_freq

* Doc update

* added special parameter for DQN in tests

* different fix for test_discrete

* Update docs/modules/dqn.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>

* Update docs/modules/dqn.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>

* Update docs/modules/dqn.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>

* Added RMSProp in optimizer_kwargs, as described in nature paper

* Exploration fraction is inverse of 50.000.000 (total frames) / 1.000.000 (frames with linear schedule) according to nature paper

* Changelog update for buffer dtype

* standard exlude parameters should be always excluded to assure proper saving only if intentionally included by ``include`` parameter

* slightly more iterations on test_discrete to pass the test

* added param use_rms_prop instead of mutable default argument

* forgot alpha

* using huber loss, adam and learning rate 1e-4

* account for train_freq in update_target_network

* Added memory check for both buffers

* Doc updated for buffer allocation

* Added psutil Requirement

* Adapted test_identity.py

* Fixes with new SB3 version

* Fix for tensorboard name

* Convert assert to warning and fix tests

* Refactor off-policy algorithms

* Fixes

* test: remove next_obs in replay buffer

* Update changelog

* Fix tests and use tmp_path where possible

* Fix sampling bug in buffer

* Do not store next obs on episode termination

* Fix replay buffer sampling

* Update comment

* moved epsilon from policy to model

* Update predict method

* Update atari wrappers to match SB2

* Minor edit in the buffers

* Update changelog

* Merge branch 'master' into dqn

* Update DQN to new structure

* Fix tests and remove hardcoded path

* Fix for DQN

* Disable memory efficient replay buffer by default

* Fix docstring

* Add tests for memory efficient buffer

* Update changelog

* Split collect rollout

* Move target update outside `train()` for DQN

* Update changelog

* Update linear schedule doc

* Cleanup DQN code

* Minor edit

* Update version and docker images

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-06-29 11:16:54 +02:00
Antonin RAFFIN
a861f33107
Update notebooks (#65) 2020-06-17 12:47:09 +02:00
Antonin RAFFIN
403fff5d50
Pre-Release v0.6.0 (#39)
* Prepare release

* Update docker images
2020-06-01 13:09:47 +02:00
Roland Gavrilescu
bb01253261
Tensorboard integration (#30)
* init commit tensorboard-integration

* Added tb logger to ppo (with output exclusions)

* fixed truncated stdout

* categorize stdout outputs by tag

* separated exclusions from values, added missing logs

* saving exclusions as dict instead of list

* reformatting, auto run indexing

* included renaming suggestions, fixed tests

* tb support for sac

* linting

* moved logging to base class

* tb support for td3

* removed histograms, non-verbose output working

* modifed changelog

* linting

* fixed type error

* moved logger config to utils

* removed episode_rewards log from ppo

* Enable tensorboard in tests

* Remove unused import

* Update logger sub titles

* Minor edit for PPO

* Update logger and tb log folder

* Pass correct logger to Callbacks

* updated docs

* added tb example image to docs

* add support for continuing training in tensorboard

* added tensorboard to docs index

* added tb test

* moved logger config to _setup_learn, updated tests

* accessing verbose from base class

* Update doc and tests

* Rename session -> time

* Update version

* Update logger truncate

* Update types

* Remove duplicated code

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-06-01 11:55:44 +02:00
Antonin RAFFIN
9b42b9717a
Fix sde_sample_freq for SAC (#32)
* Fix `sde_sample_freq` for SAC

* [ci skip] Add Acknowledgments
2020-05-24 16:44:44 +02:00
Roland Gavrilescu
91adefdb4b
Support for MultiBinary / MultiDiscrete spaces (#13)
* multicategorical dist and test

* fixed List annotation

* bernoulli dist and test

* added distributions to preprocessing (needs testing)

* fixed and tested distributions

* added changelog and fixed ppo policy

* minor fix

* dist fixes, added test_spaces

* clean up

* modified changelog

* additional fixes

* minor changelog mod

* hot encoding fix, flake8 clean up

* lint tests

* preprocessing fix

* fixed bernoulli bug

* removed commented prints

* Update changelog.rst

* included suggested modifications

* linting fix

* increased space dim

* Update doc and tests

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-05-18 14:42:13 +02:00
Antonin RAFFIN
15ff6d47ee
Documentation update and style fixes (#21)
* Update doc: add gSDE

* Fix codestyle

* Remove travis script

* Add lint check to gitlab
2020-05-15 13:54:06 +02:00
Antonin RAFFIN
b1794ebc52 [ci skip] Simplify quickstart example 2020-05-11 15:32:01 +02:00
Antonin RAFFIN
257a40ef4b
Add Gitlab CI (#12)
* Test gitlab-ci

* Try different image

* Add pytest and doc build

* Fix command

* Fix image used for CI

* Seperate pytest builds

* Fix weird seg fault in docker image due to FakeImageEnv

* Fix make command

* [ci skip] Add space in the badges

* Fix CI failures

* Re-install opencv

* Use opencv-headless

* Test with new docker image
2020-05-09 23:10:49 +02:00
Kinal Mehta
b1f5db1bb2
Add CONTRIBUTION.md link in README (#2)
* Fix CONTRIBUTION.md link in README

* Update changelog.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-05-09 13:01:15 +02:00
Antonin RAFFIN
9a9870fa9f Update README 2020-05-08 13:27:17 +02:00
Antonin RAFFIN
26981f1247 Build the doc 2020-05-07 17:35:29 +02:00
Antonin RAFFIN
8046a24719 More doc + sync VecEnvs + atari 2020-05-07 16:08:23 +02:00
Antonin RAFFIN
d17f29c8ad Add base doc 2020-05-07 10:10:51 +02:00
Antonin RAFFIN
ded94baa36 Update README 2020-05-07 08:55:42 +02:00
Antonin RAFFIN
2c34a4d694 Sync with Stable-Baselines 2020-05-05 16:28:38 +02:00
Antonin RAFFIN
d542732c8d Rename to stable-baselines3 2020-05-05 15:02:35 +02:00
Antonin RAFFIN
dcb54b5301 Remove CEMRL 2020-03-23 14:48:38 +01:00
Antonin Raffin
d850a35311 Update tests 2020-02-03 15:57:37 +01:00
Antonin Raffin
9345b85cfc Update changelog and README 2020-01-22 17:23:42 +01:00
Antonin Raffin
9e250b6818 Build doc 2020-01-20 16:19:35 +01:00
Antonin Raffin
a5c3418765 Update README (roadmap moved to github) 2019-12-19 15:28:36 +01:00
Antonin Raffin
d63cef7693 Add gradient clipping for SAC 2019-12-06 18:32:57 +01:00
Antonin Raffin
233f346d53 Update todos 2019-12-06 17:46:56 +01:00
Antonin Raffin
fe67a98711 Log more values 2019-11-26 17:44:06 +01:00
Antonin Raffin
d0003ee4ec Enable kwargs for proba dist 2019-11-25 14:00:21 +01:00
Antonin Raffin
604a19fbc3 Cleanup + update doc 2019-11-22 13:33:12 +01:00
Antonin Raffin
cdb62a93fe Bug fix for off-policy normalization
Now working properly
2019-11-15 11:00:31 +01:00
Antonin Raffin
5278a6f3f8 Testing off policy normalization 2019-11-14 14:35:00 +01:00
Antonin Raffin
da325a0ba7 Solve NaN issue and reduce number of parameters 2019-11-13 13:02:37 +01:00
Antonin Raffin
0ad743c85d Add A2C 2019-10-25 10:59:15 +02:00
Antonin Raffin
ef50bb81e8 Add support for categorical distribution 2019-10-08 13:06:38 +02:00
Antonin Raffin
4d0c033bf2 Bug fix when randomly sampling actions 2019-10-07 16:36:48 +02:00
Antonin Raffin
440166fe26 Add a parameter to disable ortho init 2019-09-26 16:29:47 +02:00
Antonin Raffin
322399e8fe Update collect rollout 2019-09-25 13:20:06 +02:00
Antonin Raffin
d22caac616 Working SAC 2019-09-24 14:15:12 +02:00
Antonin RAFFIN
b157b4465a Add logo 2019-09-22 13:57:18 +02:00
Antonin RAFFIN
7627a8644c Add roadmap 2019-09-22 13:43:01 +02:00
Antonin Raffin
46d8d9725b Init: TD3 2019-09-05 17:29:41 +02:00
Raffin, Antonin
ad6076bb7a Initial commit 2019-09-05 13:26:14 +02:00