Commit graph

526 commits

Author SHA1 Message Date
Rohan Tangri
2ada2dd0b2
Update PPO KL Divergence Estimator (#419)
* remove unused all_kl_divs memory

* new kl approximate equation

* move kl check before update step

* update changelog

* add continue_training flag update to kl check

* add verbose check

* update changelog

* lint with black

* r -> log_ratio

* Add link to PR

* invert ratio

* Fix for Sphinx v4.0

Co-authored-by: Anssi <kaneran21@hotmail.com>
Co-authored-by: Antonin Raffin <antonin.raffin@ensta.org>
2021-05-10 13:21:00 +03:00
Rohan Tangri
35da0b59b9
Policy Base for On-policy Algorithms (#412) (#415)
* add policy_base input to OnPolicyAlgorithms

* update changelog

* Fix pytype error

Co-authored-by: Antonin Raffin <antonin.raffin@ensta.org>
2021-05-04 12:59:36 +03:00
Antonin RAFFIN
6f822b9ed7
Reformat with new black version (#408)
* Reformat

* Update changelog
2021-04-26 15:58:19 +02:00
Antonin RAFFIN
c69f7cd5e6
Fixed saving of A2C and PPO policy when using gSDE (#401) 2021-04-19 12:23:02 +02:00
Antonin RAFFIN
5d47296b8d
Add test for GAE + rename RolloutBuffer.dones for clarification (#375)
* Fix return computation + add test for GAE

* Rename `last_dones` to `episode_starts` for clarification

* Revert advantage

* Cleanup test

* Rename variable

* Clarify return computation

* Clarify docs

* Add multi-episode rollout test

* Reformat

Co-authored-by: Anssi "Miffyli" Kanervisto <kaneran21@hotmail.com>
2021-04-16 15:52:55 +02:00
Antonin RAFFIN
c4304029a2
Fixed loading of `ent_coef for SAC and TQC`, it was not optimized anymore (#392)
* Fix ent coef loading bug

* Add test

* Add comment

* Reuse save path
2021-04-15 14:50:43 +02:00
Costa Huang
ddbe0e93f9
Support for VecMonitor for gym3-style environments (#311)
* add vectorized monitor

* auto format of the code

* add documentation and VecExtractDictObs

* refactor and add test cases

* add test cases and format

* avoid circular import and fix doc

* fix type

* fix type

* oops

* Update stable_baselines3/common/monitor.py

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

* Update stable_baselines3/common/monitor.py

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

* add test cases

* update changelog

* fix mutable argument

* quick fix

* Apply suggestions from code review

* fix terminal observation for gym3 envs

* delete comment

* Update doc and bump version

* Add warning when already using `Monitor` wrapper

* Update vecmonitor tests

* Fixes

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-04-13 18:09:31 +02:00
Tom Dörr
1ed15bf6ee
Add package to install (#378)
* Add package to install

* Update docs packages installation command

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-04-10 14:04:37 +02:00
Tom Dörr
c0966f3745
Make installation command compatible with ZSH (#376)
* Add quotes

* Add Zsh bracket info

* Add clarify pip installation line

* Make note bold

* Add Zsh pip installation note
2021-04-02 20:46:36 +02:00
Antonin RAFFIN
ba73d152d5
Add code of conduct + update doc (#373)
* Add code of conduct

* Fix DQN doc example

* Update doc (channel-last/first)

* Apply suggestions from code review

Co-authored-by: Anssi <kaneran21@hotmail.com>

* Apply suggestions from code review

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

Co-authored-by: Anssi <kaneran21@hotmail.com>
Co-authored-by: Adam Gleave <adam@gleave.me>
2021-03-31 10:31:03 +02:00
Antonin RAFFIN
8a08078ea2
Fix default arguments + add bugbear (#363)
* Fix potential bug + add bug bear

* Remove unused variables

* Minor: version bump
2021-03-25 11:35:21 +02:00
Justin Terry
e1ee87fef7
Include SuperSuit in projects (#359)
* include supersuit

* longer title underline

* Update changelog.rst
2021-03-20 20:48:15 +01:00
Jacopo Panerati
1e2eae6472
Add gym-pybullet-drones project (#358)
* Update projects.rst

Added gym-pybullet-drones

* Update projects.rst

Longer title underline

* Update changelog

Co-authored-by: Antonin Raffin <antonin.raffin@ensta.org>
2021-03-20 00:50:43 +01:00
Antonin RAFFIN
e3875b50a1
Stable-Baselines3 v1.0 (#354)
* Bump version and update doc

* Fix name

* Apply suggestions from code review

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

* Update docs/index.rst

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

* Update wording for RL zoo

Co-authored-by: Adam Gleave <adam@gleave.me>
2021-03-17 14:20:31 +01:00
Antonin RAFFIN
237223f834
Fix for HER with custom objects (#343) 2021-03-06 15:57:27 +01:00
Antonin RAFFIN
c62e9259db
Add custom objects support + bug fix (#336)
* Add support for custom objects

* Add python 3.8 to the CI

* Bump version

* PyType fixes

* [ci skip] Fix typo

* Add note about slow-down + fix typos

* Minor edits to the doc

* Bug fix for DQN

* Update test

* Add test for custom objects
2021-03-06 15:17:43 +02:00
Anssi
f13de5b57b
Add note on loading and resetting environments (#340)
* Update documentation and changelog

* Fix docs

* Update examples.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-03-05 17:05:14 +01:00
Pierre Aumjaud
65100a4b04
Added new project using SB3 in the documentation: rl_reach (#337) 2021-03-02 00:10:57 +01:00
Antonin RAFFIN
d0d55f3767
Beta is over =)! V1.0rc0 (#334)
* Fix doc + bump version

* Removed cmd util

* Remove test
2021-03-01 13:35:21 +01:00
Antonin RAFFIN
b2c94a677d
Fix train_freq at load time (#332)
* Fix train_freq loading

* Update docker

* Add sanity checks + tests for train freq
2021-02-27 19:53:13 +01:00
M. Ernestus
0c50d75ecb
TD3 Code review (#245)
* Removed unneeded overrides of feature_extractor and normalize_images in the TD3 Actor.

* Add learning rate schedule example (#248)

* Add learning rate schedule example

* Update docs/guide/examples.rst

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

* Address comments

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

* Add supported action spaces checks (#254)

* Add supported action spaces checks

* Address comment

* Use `pass` in an abstractmethod instead of deleting the arguments.

* Remove the "deterministic" keyword from the forward method of the TD3 Actor since it always is deterministic anyways.

* Rename _get_data to _get_data_to_reconstruct_model.

_get_data was too generic and could have meant anything.

* Remove the n_episodes_rollout parameter and allow passing tuples as train_freq instead.

* Fix docstring of `train_freq` parameter.

* Black fixes.

* Fix TD3 delayed update + rename `_get_data()`

* Fix TD3 test

* Normalize `train_freq` to a tuple in the constructor and turn the warning into an assert.

* Make one step the default train frequency.

* Black fixes.

* Change np.bool to bool.

* Use the tuple format to specify an amount of steps in terms of steps or episodes in the collect_collouts of the off policy algorithm.

* Use the tuple format to specify an amount of steps in terms of steps or episodes in the collect_collouts of HER.

* Use named tuple for train freq

* Rename train_freq to train_every and TrainFreq to ExperienceDuration. Also add some type annotations and documentation.

* Black fixes.

* Revert to train_freq

* Fix terminal observation issues

* Typo

* Fix action noise bug in HER

* Add assert when loading HER models

* Update version

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
Co-authored-by: Adam Gleave <adam@gleave.me>
2021-02-27 17:33:50 +01:00
lorepieri8
ce3f9e3302
Update docs, Provide the env when loading the model (#327) (#330)
* Provide the env when loading the model (#327)

* Update docs/misc/changelog.rst

Co-authored-by: Anssi <kaneran21@hotmail.com>
2021-02-27 16:24:39 +01:00
mschweizer
bcb231e249
Correct typo in the docs (#321)
* Correct typo

* Update changelog

Co-authored-by: marvin.schweizer <marvin.schweizer@kit.edu>
2021-02-19 19:18:41 +01:00
Antonin RAFFIN
48a19a43ec
Update custom policy documentation (#312)
* Update README

* Update custom policy documentation

* Add discord link

* Add note about OpenCV headless version
2021-02-06 18:19:58 +01:00
Lorenz Hetzel
b01bde3e2d
Add Support for Text Records to Logger, Add Hint on How To Access SummaryWriter in Docs. (#303)
* add support for text records to logger

* add note on how to access summary writer directly

* escape unicode chars for HumanOutputFormat

* update changelog

* fix formatting

* fix docs

* add tests

* fix formatting

* fix example, link to pytorch docs, update changelog

* move unicode escaping to own function, properly escape quotechars in csv formatter

* switch from n_calls to num_timesteps in example

* make step coherent in example

* use n_calls to check when to login example

* add small hint about log frequency

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

* add comment about str is scalar type, improve test input

* Update tests

* Update test_logger.py

* use repr to handle strings in logger

* remove repr from text log output

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-02-01 11:56:33 +01:00
Antonin RAFFIN
c722c4f5bd
Fix numpy warning and update migration guide (#307) 2021-02-01 11:24:44 +01:00
Antonin RAFFIN
d7c6aff252
Fix discrete obs support (#296)
* Fixed discrete obs support

* Suggest new edit, fix failed test

* Revert "Suggest new edit, fix failed test"

This reverts commit 6892bf05506bb5ad0e87016d8d382705ab72e6a4.

* Fix test

* Special case for discrete obs

Co-authored-by: Anssi "Miffyli" Kanervisto <kaneran21@hotmail.com>
2021-01-21 02:42:33 +02:00
Cody Wild
b1aee71772
Improve error messages when PPO effective batch size is 1 and when last mini-batch is truncated (#270)
* Add warning about total_env_steps not dividing neatly into batch size

* Stylistic cleanup

* Black reformatting

* Add clearer documentation and update changelog

* Update changelog.rst

* Use specific RolloutBuffer terminology

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

* Change to minibatch language

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

* Cleaning up language describing rollout buffer requirements

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

* Switch to using env.num_envs

* Working tests

* Black and isort still fighting each other

* codestyle finally happy

* Basic test exists, possibly in the wrong file

* Update phrasing

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-01-11 17:03:32 +01:00
Carlos M. Casas Cuadrado
5993033c73
Add image and figure to tensorboard logger (#277)
* Added Image and Figure classes to logger. For now, these objects can only be logged by TensorBoardOutputFormat

* Added documentation for figure and image logging into tensorboard

* Updated changelog

* Minor changes to documentation. Reviewed supported types for logging images and figures

* Fix type for np arrays

* Added more explicit example for logging figures in the documentation. Added docstrings for parameters in logging auxiliary classes

* Added tests for image and figure logging

* Applied autoformatting

* Update doc

* Fix documentation example

* Bump version

Co-authored-by: Carlos Casas <ccasascuadrado@guidewire.com>
Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2021-01-08 15:47:08 +01:00
AptX395
06498e8be7
Update the code in Example. (#273)
Replace `Pendulum-v0` with `CartPole-v0`, otherwise the sample code will not run normally.
2021-01-04 14:24:38 +02:00
Antonin RAFFIN
944dfdafe4
Update doc: SB3-Contrib (#267)
* Fix big when saving/loading q-net alone

* Rename variables to match SB3-contrib

* Update docker image

* Set min version for tensorboard

* Add SB3-Contrib to doc

* Update DQN

* Apply suggestions from code review

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

* Update wording

Co-authored-by: Adam Gleave <adam@gleave.me>
2020-12-21 16:17:24 +01:00
Lucas Alegre
b8c72a5348
Add SUMO-RL as example project in the docs (#257)
* Add SUMO-RL as example project in the docs

* Fixed docstring of AtariWrapper which was not inside of __init__

* Updated changelog regarding docs

* Fix docstring of classes in atari_wrappers.py which were inside the constructor

* Formated docstring with black

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-12-13 17:15:45 +01:00
M. Ernestus
e63e9d7d5e
Update github name of Maximilian Ernestus (#258)
* update github name of Maximilian Ernestus

* erniejunior -> ernestum

* erniejunior -> ernestum

* Update changelog.rst
2020-12-10 21:48:11 +01:00
Antonin RAFFIN
6b598323ae
Add eval success rate logging (#255)
* Add eval success rate logging

* Fix name clash

* Log data

* Bump version
2020-12-08 15:49:07 +01:00
Antonin RAFFIN
2b9fc1f923
Add supported action spaces checks (#254)
* Add supported action spaces checks

* Address comment
2020-12-06 14:05:10 +02:00
Antonin RAFFIN
e747e7e2b3
Add learning rate schedule example (#248)
* Add learning rate schedule example

* Update docs/guide/examples.rst

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

* Address comments

Co-authored-by: Adam Gleave <adam@gleave.me>
2020-12-02 14:54:18 +01:00
Antonin RAFFIN
723b341c61
Fix for saving big replay buffer, use pickle protocol>=4 (#239) 2020-11-24 16:13:00 +02:00
Antonin RAFFIN
3207bdab17
Automatically wrap with a Monitor when possible (#237)
* Automatically wrap with a Monitor when possible

* Update stable_baselines3/common/base_class.py

Co-authored-by: Anssi <kaneran21@hotmail.com>
2020-11-20 18:08:00 +02:00
Megan Klaiber
852961139e
Fix bug with full HerReplayBuffer (#236)
* Fix bug with full replay buffer

* Updated changelog

* Update tests/test_her.py

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-11-20 13:23:03 +01:00
Antonin RAFFIN
d04aad2a20
Doc fixes and add monitor_kwargs parameter (#230)
* Fix type annotation

* Fix migration doc for A2C

* Update version

* Add `monitor_kwargs` argument

* Update docs/guide/migration.rst

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

* Fix make atari env

* Fix docstring

* Renamed LearningRateSchedule

Co-authored-by: Adam Gleave <adam@gleave.me>
2020-11-20 10:28:54 +01:00
Antonin RAFFIN
9069cf55f1
Fix DQN predict shape for single Gym env (#222)
* Fix DQN predict shape for single Gym env

* Remove unused imports
2020-11-17 00:43:26 +02:00
thisray
5ddda44a74
Fix arguments order of explained_variance() (#227)
* Fix for arguments order in explained_variance()

Fix for arguments order in explained_variance() in PPO

* Fix for arguments order in explained_variance()

Fix for arguments order in explained_variance() in a2c

* Fix for arguments order in explained_variance()

update changelog.rst
2020-11-16 16:27:46 +01:00
Anssi
18d10dbf42
Use Monitor episode reward/length for evaluate_policy (#220)
* Update evaluate_policy to use monitor data if available

* Update documentation

* Cleaning up

* Remove unnecessary typing trickery

* Update doc

* Rename is_wrapped to clarify it is for vecenvs

* Add is_wrapped for regular envs

* Add is_wrapped call for subprocvecenv and update code for circular imports

* Move new functions back to env_util and fix imports

* Update changelog

* Clarify evaluate_policy docs

* Add tests for wrapped modifying episode lengths

* Fix tests

* Update changelog

* Minor edits

* Add warn switch to evaluate_policy and update tests

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-11-16 11:52:28 +01:00
M. Ernestus
c74509ae9d
Add callable signatures to type annotations. (#215)
* Add callback signature to the learning rate type annotations.

* Add callback signature to the learning rate schedule type annotations.

* Add missing type annotations for learning rate callbacks.

* Add signature to old-style learning and evaluation callbacks.

* Add signature to env wrapper callback.

* Add type annotation to closure function.

* Use MaybeCallback more consistently.

* Update changelog.

* Remove now unused List import.

* Fix import order.

* Add type alias for learning rate schedules.

* Optimize imports.

* Fix messed up import.

* Remove resolved TODO.

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-11-15 17:50:28 +01:00
Anssi
e2b6f5460f
Avoid transposing channel-first envs (#213)
* Add test for channel-first environments

* Add support for channel-first envs, including more tests

* Update changelog

* Run black

* Run black, again

* Improve NatureCNN error message

* Update image checks and FrameStack wrapper

* Update tests

* Update docs

* Run isort

* Reformat

* Fixes: avoid breaking changes for non-image env

* Add additional checks

* Update docstring

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-11-03 12:34:09 +01:00
Stefan Heid
9d463bc476
Small docstring improvements related to the notion of Rollout (#206)
* Small docstring improvements related to the notion of Rollout

* documented changes in changelog.rst, added myself to contributers

* Minor edits

Co-authored-by: Stefan Heid <stefan.heid@upb.de>
Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-11-02 11:45:08 +01:00
Antonin RAFFIN
581ee4ad7a Fix for issues templates 2020-11-02 10:47:37 +01:00
Antonin RAFFIN
4a022dacd8
Add more issue templates (#211)
* Update algo table

* Add more templates

* Add doc build in the checklist

* Address comments
2020-11-02 10:43:25 +01:00
Antonin RAFFIN
b4188795f5
Release v0.10.0 (#204) 2020-10-28 13:01:56 +01:00
Antonin RAFFIN
897e98c4e2
Update documentation (#199)
* Update doc and add new example

* Add save/load replay buffer example

* Add save format + export doc

* Add example for get/set parameters

* Typos and minor edits

* Add results sections

* Add note about performance

* Add DDPG results

* Address comments

* Fix grammar/wording

Co-authored-by: Anssi "Miffyli" Kanervisto <kaneran21@hotmail.com>
2020-10-28 09:55:16 +01:00