Commit graph

235 commits

Author SHA1 Message Date
Melvin Wang
856da19609
add check to ensure action space is non-dict non-tuple for env_checker nan check (#192)
* add check to ensure action space is non-dict non-tuple for env_checker nan check

* update changelog.rst

* add regression test for new check

* commit-checks

* add more action space checks

* update docstrings

* add warning check
2020-10-19 00:23:51 +03:00
Bernhard Raml
97b81f9e9e
Fix ignoring the exclude in the logger's record function for json, csv and log logging formats (#190)
* Fix ignoring the exclude in logger record

For the logging formats json, csv, and log the exclude parameter of the
logger's record function has been ignored. The necessary checks were
missing from some of the format writer classes. Regression tests have
been added to prevent this error in the future.

* Fix docstring for filter_excluded_keys

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

* Added missing type hints to local functions

* Update stable_baselines3/common/logger.py

Co-authored-by: Bernhard Raml <raml.bernhard@gmail.com>
Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-10-16 17:34:49 +02:00
Wilson
fe6ade3089
Allow env_kwargs in make_vec_env when env ID string supplied (#189)
* Allow env_kwargs in make_vec_env when env ID string supplied

Resolves #188

* Update docs/misc/changelog.rst

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

* Add test for env kargs in make_vec_env

* remove unnecessary args in test_vec_env_kwargs function

* Fixes and reformat

* Doc fix

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-10-16 11:09:19 +02:00
Antonin RAFFIN
2599f04940
Add custom arch for off-policy actor/critic networks (#182)
* Add custom arch for off-policy actor/critic networks

* Fix type hints

* Address comments

* Make sure number of updated parameters match in polyak

* Add zip_strict for strict-length zipping

* Fix building docs

* Add test for zip strict

* Faster tests

Co-authored-by: Anssi "Miffyli" Kanervisto <kaneran21@hotmail.com>
2020-10-13 12:01:33 +02:00
Antonin RAFFIN
fc9527157a
Fix off-by-one GAE computation (#185)
* Fix off-by-one GAE computation

* Fix identity test

* Revert gae loop
2020-10-13 00:10:54 +03:00
Anssi
9855486488
Get/set parameters and review of saving and loading (#138)
* Update comments and docstrings

* Rename get_torch_variables to private and update docs

* Clarify documentation on data, params and tensors

* Make excluded_save_params private and update docs

* Update get_torch_variable_names to get_torch_save_params for description

* Simplify saving code and update docs on params vs tensors

* Rename saved item tensors to pytorch_variables for clarity

* Reformat

* Fix a typo

* Add get/set_parameters, update tests accordingly

* Use f-strings for formatting

* Fix load docstring

* Reorganize functions in BaseClass

* Update changelog

* Add library version to the stored models

* Actually run isort this time

* Fix flake8 complaints and also fix testing code

* Fix isort

* ...and black

* Fix set_random_seed

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
Co-authored-by: Antonin Raffin <antonin.raffin@dlr.de>
2020-09-24 14:28:27 +02:00
liorcohen5
f5104a5efc
Allow to set a device when loading a model (#154)
* Added a 'device' keyword argument to BaseAlgorithm.load().
Edited the save and load test to also test the load method with all possible devices.
Added the changes to the changelog

* improved the load test to ensure that the model loads to the correct device.

* improved the test: now the correctness is improved. If the get_device policy would change, it wouldn't break the test.

* Update tests/test_save_load.py

@araffin's suggestion during the PR process

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

* Update tests/test_save_load.py

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

* Bug fixes: when comparing devices, comparing only device type since get_device() doesn't provide device index.
Now the code loads all of the model parameters from the saved state dict straight into the required device. (fixed load_from_zip_file).

* PR fixes: bug fix - a non-related test failed when running on GPU. updated the assertion to consider only types of devices. Also corrected a related bug in 'get_device()' method.

* Update changelog.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-09-20 19:13:18 +02:00
Francisco Caio
5fc90a7f7d
Add StopTrainingOnMaxEpisodes to callback collection (#147)
* Add StopTrainingOnMaxEpisodes class to pre-made callback collection

* Adjust instant when counters are incremented for both OnPolicy and OffPolicy algorithms

* Improv to StopTrainingOnMaxEpisodes including output, tests and doc

* Improv StopTrainingOnMaxEpisodes callback running _init_callback

* Update callbacks.py

* Update test_callbacks.py

* Fix style

* Update changelog.rst

* Fix test

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
Co-authored-by: Antonin Raffin <antonin.raffin@dlr.de>
2020-08-28 11:36:33 +02:00
Antonin RAFFIN
15d32c6a4a
Update black version + update docker image (#151)
* Update docker image

* Update black and reformat
2020-08-27 23:02:59 +02:00
Stelios Tymvios
9003a09d5b
Callbacks have access to locals (#115)
* callbacks have access to locals

* changeloc

* doc

* callbacks have access to locals

* changeloc

* doc

* Added update function for child callbacks

* Pre-Release 0.8.0 (#134)

* Fix double reset and improve typing coverage (#136)

* Fix double reset and improve typing coverage

* Revert minor edit

* Add doc about types

* Update child callbacks

* cleaned imports

* format

* import order

* Simplify tests and add comments

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-08-23 14:34:01 +02:00
Sam Toyer
42ef6d4677
Remove "device" argument from policies (#141)
* Remove device arg from policies

* Clean up for PR

* Update test and doc

* Fix codestyle

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-08-23 13:27:52 +02:00
Anssi
2cd6a4f93b
Match performance with stable-baselines (discrete case) (#110)
* Fix storing correct episode dones

* Fix number of filters in NatureCNN network

* Add TF-like RMSprop for matching performance with sb2

* Remove stuff that was accidentally included

* Reformat

* Clarify variable naming

* Update changelog

* Add comment on RMSprop implementations to A2C

* Add test for RMSpropTFLike

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-08-03 22:22:51 +02:00
Stelios Tymvios
dbe8cfceb6
Optimized polyak updates (#106)
* quick polyak updates

* changelog

* typing

* reverted autoformatting

* rerverted autofmt

* Update stable_baselines3/common/utils.py

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

* parameter names in test

* cleanup

* Merge branch 'master' into polyak

* Update changelog

* Apply suggestions from code review

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

* Update stable_baselines3/common/utils.py

* Update utils.py

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-07-17 15:53:28 +02:00
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
Stelios Tymvios
4aa66ed34a
Automatically create paths for saved objects (#80)
* automatically create paths for saved objects

* Minor Corrections, more tests

* linting

* typing

* Correct mode checking

* corrected tests to reflect new verbose functionality
2020-07-03 01:14:21 +03: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
Tirafesi
644d2c17ac
save_replay_buffer now receives as argument the file path instead of the folder path (#63)
* save_replay_buffer now receives as argument the file path instead of the folder path

* Update changelog.rst

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-06-17 14:00:49 +02:00
Antonin RAFFIN
494ebfd20a
Hotfix PPO + gSDE (#53)
* Fix variable being passed with gradients

* Update changelog

* Bump version

* Fixes #54
2020-06-10 18:58:35 +02:00
Anssi
b833207142
Add some missing tests, update VecNormalize and RolloutBuffer (#50)
* Change saving/loading normalization parameters to use single pickle file

* Remove 'use_gae' from RolloutBuffer compute_returns function

* Add some missing tests for normalizer, nan-checker and PPO clip_value_fn argument

* Update changelog

* Fix typo

* Use proper pytest.raises for catching errors in tests

* Add comment on GAE and how to obtain non-GAE behaviour

* Remove save/load_running_average from VecNormalize in favor of load/save

* Update changelog

* Update docstring

* Add accidentally removed tests for VecNormalize

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-06-10 12:09:04 +02:00
Anssi
44f8218df0
Review of code (A2C, PPO and refactoring) (#35)
* Split torch module code into torch_layers file

* Updated reference to CNN

* Change 'CxWxH' to 'CxHxW', as per common notion

* Fix missing import in policies.py

* Move PPOPolicy to OnlineActorCriticPolicy

* Create OnPolicyRLModel from PPO, and make A2C and PPO inherit

* Update A2C optimizer comment

* Clean weight init scales for clarity

* Fix A2C log_interval default parameter

* Rename 'progress' to 'progress_remaining

* Rename 'Models' to 'Algorithms'

* Rename 'OnlineActorCriticPolicy' to 'ActorCriticPolicy'

* Move static functions out from BaseAlgorithm

* Move on/off_policy base algorithms to their own files

* Add  files for A2C/PPO

* Fix docs

* Fix pytype

* Update documentation on OnPolicyAlgorithm

* Add proper doctstring for on_policy rollout gathering

* Add bit clarification on the mlppolicy/cnnpolicy naming

* Move static function is_vectorized_policies to utils.py

* Checking docstrings, pep8 fixes

* Update changelog

* Clean changelog

* Remove policy warnings for sac/td3

* Add monitor_wrapper for OnPolicyAlgorithm. Clean tb logging variables. Add parameter keywords to OffPolicyAlgorithm super init

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-06-09 13:54:18 +02:00
Antonin RAFFIN
353ea81080
Fix several VecEnv issues, add fork start method to tests (#43)
* Fix several VecEnv issues, add `fork` start method to tests

* Fix signature
2020-06-04 11:22:12 +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
Stelios Tymvios
78e8d405d7
Implemented Vectorized Action Noise (#34)
* Implemented Vectorized Action Noise

Vectorized Action Noise allows for multiple instances of
ActionNoiseProcesses to run in parallel. This makes it easier to
run TD3/SAC/DDPG with VecEnv.

* fixed linting issues

* make test function name consistent

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

* sanity checks and more detailed test

* Update stable_baselines3/common/noise.py

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

* Added assertion error message in noises setter

* Corrected tests to reflect change to AssertionError from ValueError

Co-authored-by: Antonin RAFFIN <antonin.raffin@ensta.org>
2020-05-27 09:53:01 +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
54f6f5b6fb
Add flake8 linter and Github CI (#19)
* Cleanup code

* Add flake8 lint and github workflow

* Update build matrix

* Relax precision for python3.7
2020-05-12 17:55: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
Antonin RAFFIN
c20af230f7 Remove SDE support for TD3 2020-05-08 15:00:34 +02:00
Antonin RAFFIN
aa0ff8a59b Update atari test 2020-05-07 16:36:48 +02:00
Antonin RAFFIN
8046a24719 More doc + sync VecEnvs + atari 2020-05-07 16:08:23 +02:00
Antonin RAFFIN
cf1ae840c8 Sync identity envs 2020-05-05 16:52:22 +02:00
Antonin RAFFIN
04d85ac2e2 Fix import in tests 2020-05-05 16:32:08 +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
7ae54206ce Reformat and code cleanup 2020-04-23 15:18:21 +02:00
Antonin RAFFIN
f38ddcb278 Allow any number of channels 2020-04-22 16:11:23 +02:00
Antonin RAFFIN
f3cb0688c4 Fix custom optimizer 2020-04-22 13:21:11 +02:00
Antonin RAFFIN
041f2bc59a Cleanup, bug fixes + more tests 2020-04-22 13:14:22 +02:00
Antonin RAFFIN
73fb8d1c63 Add CNN support for TD3 2020-04-22 11:05:46 +02:00
Antonin RAFFIN
8aac9e819d Add VecTransposeImage and fix for SAC 2020-04-21 20:41:58 +02:00
Antonin RAFFIN
93c2a01f91 Start CNN support (failing for SAC) 2020-04-21 16:22:46 +02:00
Antonin RAFFIN
f347474e6a Independent save/load for policies 2020-04-20 15:59:44 +02:00
Antonin RAFFIN
aa1026ee87 Added `optimizer and optimizer_kwargs to policy_kwargs` 2020-04-17 15:13:45 +02:00
Antonin RAFFIN
71ce9ef2f4 Add test for actor 2020-03-31 18:26:26 +02:00
Antonin RAFFIN
c264403816 Rename for consistency
+ add _predict to actors
+ improve sac actor code
2020-03-31 17:48:23 +02:00
Antonin RAFFIN
2bbf6a9462 Minor: remove comment 2020-03-31 16:40:53 +02:00
Antonin RAFFIN
fdecd512db Add save/load weights for policies and refactor action distributions 2020-03-31 16:29:13 +02:00
Antonin RAFFIN
b782f3a208 Fix for test failures 2020-03-31 10:18:56 +02:00
Antonin RAFFIN
fa599c65a6 Add support for Discrete observation spaces 2020-03-25 16:42:05 +01:00
Antonin RAFFIN
4b2092f55a Remove base network 2020-03-23 15:31:14 +01:00
Antonin RAFFIN
dcb54b5301 Remove CEMRL 2020-03-23 14:48:38 +01:00
Antonin RAFFIN
fd9e73cfb8 Fix entropy computation 2020-03-19 10:19:48 +01:00
Antonin RAFFIN
9485b90a41 Sync predict with SB and add version file 2020-03-18 15:11:19 +01:00
Antonin Raffin
70e601c03c Improve code and bump version 2020-03-12 15:34:35 +01:00
Antonin Raffin
b64873ffff Sync callbacks 2020-03-12 12:34:25 +01:00
Antonin Raffin
18f38f8cf5 Reformat 2020-03-12 11:12:10 +01:00
Antonin Raffin
037986a91d Add test for expln 2020-03-11 16:35:13 +01:00
Antonin Raffin
4392759057 Comment unused code 2020-02-14 14:15:55 +01:00
Antonin Raffin
e31b139c47 Add test for predict method 2020-02-14 14:03:41 +01:00
Antonin Raffin
8b559d71ab Remove deprecated monitor format and improve tests 2020-02-14 13:42:16 +01:00
Antonin Raffin
f1a4fa2d3f Improve predict method 2020-02-12 15:25:05 +01:00
Antonin Raffin
7bafdb3a67 Add get_vec_normalize_env() 2020-02-12 11:34:29 +01:00
Antonin Raffin
2ce31c1e21 Fix entropy loss for squashed Gaussian and VecEnv seeding 2020-02-11 17:22:03 +01:00
Antonin Raffin
2afcf395b9 Update tests 2020-02-11 16:42:25 +01:00
Antonin Raffin
b7dcc8d58e Add extend method 2020-02-11 16:40:44 +01:00
Antonin Raffin
75a86881b3 Add save/load for replay buffer 2020-02-05 13:10:02 +01:00
Antonin Raffin
d850a35311 Update tests 2020-02-03 15:57:37 +01:00
Antonin Raffin
ec657cc34e Fix tests and change log_path behavior for EvalCallback 2020-01-31 13:42:04 +01:00
Antonin Raffin
6d59bfd4a0 Merge branch 'master' into feat/callbacks 2020-01-31 13:09:55 +01:00
Dormann, Noah
1f0dd60b97 Fix saving on GPU - Loading on CPU (#45)
* removed policy from save, changed th.loads to map to device

* found hack: catch pickle exception and trying th.load with mapping instead, otherwise raise exception with more information -> loading cuda on cpu raises exception -> leads to th.load with map being called

* deleted todo

* updated changelog

* start of saving refactor

* first working c

* all tests pass, save refactored

* - backwards compatibilty not always
- make pytest all passing
- make typing all passing

* Fixes and simplify the save method

* Remove unused param

* Fix backward compat

* Fix docstring
2020-01-31 13:06:55 +01:00
Antonin Raffin
b66003cfb3 Add callback support 2020-01-27 14:32:31 +01:00
Antonin Raffin
e5c6601726 Update VecNormalize (pickling) and improve tests 2020-01-20 11:58:16 +01:00
Antonin Raffin
89db65b1fb Improve logger testing + add readers 2020-01-20 11:58:00 +01:00
Antonin Raffin
c542009641 Clean up code + bug fixes 2020-01-20 11:17:55 +01:00
Antonin Raffin
07345e5e27 Test for differential entropy 2019-12-18 13:45:56 +01:00
Antonin Raffin
0117cc37f4 Merge branch 'master' into feat/sde-features 2019-12-05 16:33:41 +01:00
Noah Dormann
88d4f44d55 added set_env test and set_env wrapping 2019-12-05 13:59:07 +01:00
Noah Dormann
8062ed6036 fixed load, to check if environment ist correctly 2019-12-05 13:36:19 +01:00
Noah Dormann
c3b0398d56 Changed load so it still works when env not saved
improved save function
2019-12-05 08:40:28 +01:00
Dormann, Noah
362bba73ba adapted common style
Co-Authored-By: Raffin, Antonin <Antonin.Raffin@dlr.de>
2019-12-05 08:07:43 +01:00
Antonin Raffin
3cdd5f20af Bug fix + add test for sde net arch 2019-12-02 14:14:48 +01:00
Antonin Raffin
21e655ecbf Add test for SAC with different entropy temperature 2019-12-02 11:47:52 +01:00
Antonin RAFFIN
03a84f97ea Add monte-carlo test for SDE distribution 2019-12-01 16:46:39 +01:00
Noah Dormann
c82025e673 Add Test for exclude/include feature of save 2019-11-28 16:07:15 +01:00
Noah Dormann
e95858784a Formatted all files 2019-11-28 15:38:04 +01:00
Noah Dormann
9ff59eaf3d Added attribute self.policy_class to prevent errors when using self.policy as class 2019-11-28 15:25:01 +01:00
Noah Dormann
e26564e0ec Added function for setting up any attributes that weren't saved and thus not loaded 2019-11-28 13:35:16 +01:00
Noah Dormann
c75582dfbe resolving conflicts
# Conflicts:
#	torchy_baselines/a2c/a2c.py
#	torchy_baselines/ppo/ppo.py

Added optimizer params test
2019-11-28 12:12:06 +01:00
Noah Dormann
812cab84ac Changed PPO deterministic 2019-11-28 11:20:40 +01:00
Antonin Raffin
5483e02d1a Add SDE support for SAC 2019-11-26 15:26:12 +01:00
Antonin Raffin
d26fcf4566 Fix grad computation for sde test 2019-11-26 11:57:48 +01:00
Antonin Raffin
0885dbe74b Bug fix in choosing the distribution 2019-11-25 15:02:10 +01:00
Antonin Raffin
5d6649d92b Enable separate feature extraction for SDE 2019-11-25 14:54:13 +01:00
Noah Dormann
cfb822aa91 Corrected test_run.py 2019-11-21 16:54:30 +01:00
Noah Dormann
2d72f6d1b5 Added SAC, TD3, A2C
Missing CEMRL
2019-11-21 16:46:53 +01:00
Noah Dormann
775a50cc5c saving all variables now added a2c support 2019-11-21 16:24:18 +01:00
Noah Dormann
526c37bf1f refactored the assets in test_save_load
fixed base_class 'params.pth'
2019-11-21 15:44:57 +01:00
Noah Dormann
17f84053b3 save implementation for a2c needed before uncommenting save and load test in test_run.py::test_onpolicy 2019-11-21 14:44:02 +01:00
Noah Dormann
fb5f192fc4 Implemented Changes suggested from Antonin-Raffin
Added Optimizer saving
2019-11-21 14:39:44 +01:00
Noah Dormann
a7655ca6e1 Reformated every file with PEP 8 errors 2019-11-21 13:01:03 +01:00
Noah Dormann
b20b70db48 Clean reformat 2019-11-21 11:51:47 +01:00
Noah Dormann
5bca52a87d rearranged imports 2019-11-21 11:44:37 +01:00
Noah Dormann
4b6234a1c8 finished test_save_load.py test 2019-11-21 11:39:47 +01:00
Antonin Raffin
ad32aa60f3 Add sde scheduler 2019-11-18 16:03:08 +01:00
Antonin Raffin
d8a7556d84 Merge branch 'feat/sde' into feat/offpolicy-sde 2019-11-18 15:14:05 +01:00
Antonin Raffin
b9c20d443d Update doc + add test for tanh bijector 2019-11-18 15:04:07 +01:00
Antonin Raffin
5d353d598c Start cleanup + update docstrings 2019-11-18 14:09:31 +01:00
Antonin Raffin
fb64072859 Update sde test 2019-11-15 11:07:49 +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
Noah Dormann
cc744a48b5 first save and load features 2019-11-12 17:03:57 +01:00
Antonin Raffin
db87e0d36a Quick and dirty SDE version for TD3 2019-11-07 17:31:52 +01:00
Antonin Raffin
72a6f18e43 Add sde test + fix random seed 2019-10-31 14:14:30 +01:00
Antonin Raffin
42d50ed09b Add expln 2019-10-29 15:15:54 +01:00
Antonin Raffin
c15b4bda1e Add first draft of SDE 2019-10-28 18:24:13 +01:00
Antonin Raffin
0ad743c85d Add A2C 2019-10-25 10:59:15 +02:00
Antonin RAFFIN
53898f3d1a Add flexible mlp 2019-10-17 13:32:25 +02:00
Antonin Raffin
ef50bb81e8 Add support for categorical distribution 2019-10-08 13:06:38 +02:00
Antonin Raffin
37ab9d10f1 Rescale actions and add action noise 2019-10-07 16:26:03 +02:00
Antonin Raffin
32648d9029 Add docstrings 2019-09-24 15:30:58 +02:00
Antonin Raffin
d22caac616 Working SAC 2019-09-24 14:15:12 +02:00
Antonin RAFFIN
2469ff3859 Reformat 2019-09-21 17:17:09 +02:00
Antonin Raffin
a9b8276efb Attempt to fix loss of perf because of VecEnvs 2019-09-20 18:06:08 +02:00
Antonin Raffin
0e727a5f72 Full compat for VecEnv + bug fixes for cuda 2019-09-20 16:43:19 +02:00
Antonin Raffin
56053bc692 Add stable-baselines VecEnvs 2019-09-20 15:18:25 +02:00
Antonin RAFFIN
fe8b415cbf First sign of life 2019-09-19 16:21:28 +02:00
Antonin RAFFIN
e1c1d5c4ab Bug fixes (not working yet) 2019-09-18 22:12:32 +02:00
Antonin RAFFIN
6bb7e183d2 Running PPO (not working yet) 2019-09-18 15:35:17 +02:00
Antonin Raffin
5e3a84d551 Refactor policies 2019-09-12 11:19:06 +02:00
Antonin Raffin
5e38080937 Code cleanup 2019-09-06 14:04:40 +02:00
Antonin Raffin
d4e2dc8a9c Add CEM-RL 2019-09-06 14:01:10 +02:00
Antonin Raffin
90882ee846 Fixes for python 2 + env from string 2019-09-06 11:46:25 +02:00
Antonin Raffin
9cf289b997 Bug fixes + add evaluate script 2019-09-06 10:44:55 +02:00
Antonin Raffin
46d8d9725b Init: TD3 2019-09-05 17:29:41 +02:00