Skip to content

Docs #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 352 commits into from
Oct 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
352 commits
Select commit Hold shift + click to select a range
dba9eef
BugFix: pass through spec check when there are none (#214)
vmoens Jun 21, 2022
2cb8a5e
Minor ReplayBuffer usage improvement (#211)
vmoens Jun 21, 2022
87ea43d
BugFix: generating random values from CompositeSpec (#218)
vmoens Jun 21, 2022
01e00b5
Feature: no-op for split_trajectory when there is no need for it (#216)
vmoens Jun 22, 2022
44eae43
Feature: Create MemmapTensors with shape, device and dtype (#219)
vmoens Jun 22, 2022
b162180
Change the default trainer scheduler to None (#222)
yidingjiang Jun 22, 2022
336b981
Hydra integration (#202)
vmoens Jun 24, 2022
d3e022c
Make __del__ call shutdown and close in DataCollectors and Envs (#209)
OdedKrams Jun 24, 2022
1e9941b
Re-introducing recorder_log_keys (#225)
vmoens Jun 24, 2022
f7177cc
BugFix: skip split_trajectories condition (#226)
vmoens Jun 25, 2022
aad5d04
Memory-efficient stats gathering (#227)
vmoens Jun 26, 2022
571d5aa
TensorSpec.encode domain check parametrization (#228)
vmoens Jun 26, 2022
3ce21aa
minor
vmoens Jun 26, 2022
faebd2b
Feature: introducing Storage for replay buffers (#223)
vmoens Jun 28, 2022
dbc7ba0
Feature: MemmapTensor storage for ReplayBuffer (#224)
vmoens Jun 28, 2022
7798294
Refactor CompositeSpec tests (#230)
khmigor Jun 29, 2022
2a41f00
functorch stable install fix (#233)
vmoens Jun 29, 2022
df55871
Update docstrings (#232)
vmoens Jun 29, 2022
5833b2f
Implement unittests for MemmapTensor. (#231)
fredfung007 Jun 29, 2022
61a00e8
Drop cmake build system, use PyTorch C++ extensions (#239)
zou3519 Jun 30, 2022
aa9a9f2
[Feature] custom info_dict reader methods (#234)
vmoens Jun 30, 2022
762dd03
[CI] cuda 11.3 update (#235)
vmoens Jun 30, 2022
ff872a2
Remove CMake references in CI and README (#241)
vmoens Jul 1, 2022
5ed32a9
Remove `current_tensordict` references (#229)
vmoens Jul 2, 2022
225f92f
Bugfix: Double2Float default behaviour (#242)
vmoens Jul 2, 2022
009cea6
Packaging setup (#237)
vmoens Jul 5, 2022
ad92dd7
Create `wheels.yml` for github actions (#244)
vmoens Jul 5, 2022
a36c0b7
MacOs versioning and release bugfix (#247)
vmoens Jul 6, 2022
e478ee7
Setup metadata (#248)
vmoens Jul 6, 2022
b0c78b7
Fix setup instructions (#250)
vmoens Jul 6, 2022
bd8a23d
Fix a bug when segment_tree size is exactly 2^N (#251)
xiaomengy Jul 7, 2022
0043d57
Added test for RewardRescale transform (#252)
nicolas-dufour Jul 7, 2022
3122602
Empty TensorDict population in loops (#253)
vmoens Jul 7, 2022
60ae5a4
Memmap del bugfix (#254)
vmoens Jul 7, 2022
a986c2c
[Feature] Implement padding for tensordicts (#257)
ajhinsvark Jul 8, 2022
f254f90
[BugFix]: recursion error when calling permute(...).to_tensordict() (…
vmoens Jul 8, 2022
d48534b
Differentiable PPOLoss for IRL (#240)
vmoens Jul 8, 2022
e2da7bb
[BugFix]: avoid deleting true in_keys in TensorDictSequence (#261)
vmoens Jul 8, 2022
1d2dd2c
[Feature] Add issue and pull request template (#263)
Benjamin-eecs Jul 11, 2022
72e7ac1
[Feature] Nested tensordicts (#256)
vmoens Jul 11, 2022
3842786
[Feature]: Index nested tensordicts using tuples (#262)
vmoens Jul 11, 2022
8667f87
[Feature]: flatten nested tensordicts (#264)
vmoens Jul 11, 2022
55e97c5
[Test]: test nested CompositeSpec (#265)
vmoens Jul 11, 2022
e9b923f
[Test]: test squeezed TensorDict (#269)
vmoens Jul 12, 2022
8729851
[Doc] Added TensorDict tutorial (#255)
nicolas-dufour Jul 12, 2022
71415ac
[Test]: TensorDict: test tensordict created on cuda and sub-tensordic…
vmoens Jul 12, 2022
4c81c6f
[Feature] Refactor the `torch.stack` with destination (#245)
khmigor Jul 13, 2022
e5bea04
[Feature]: faster meta-tensor API for TensorDict (#272)
vmoens Jul 14, 2022
806733f
[Feature]: Refactored logging to be able to support other loggers eas…
nicolas-dufour Jul 15, 2022
15da7db
Small tweaks to make the code more consistent (#275)
shagunsodhani Jul 17, 2022
c3e2e0e
[BugFix]: Minor bugs in docstrings (#276)
vmoens Jul 17, 2022
f9f573b
[Doc]: TorchRL demo (#284)
vmoens Jul 17, 2022
d35217a
fix(.github): update wrong links in issue and pull request template (…
Benjamin-eecs Jul 17, 2022
9b72a83
[BugFix]: quickfix: force gym 0.24 installation until issue with rend…
vmoens Jul 17, 2022
7cbd04d
[Doc]: remove pip install from CONTRIBUTING.md (#288)
vmoens Jul 18, 2022
201ac26
[Feature]: faster safetanh transform via C++ bindings (#289)
vmoens Jul 18, 2022
bab8767
[BugFix]: fix GLFW3 error when installing dm_control (#291)
vmoens Jul 18, 2022
3781512
[BugFix]: Fix examples (#290)
vmoens Jul 18, 2022
677e4ce
[Doc] Simplify PR template (#292)
vmoens Jul 19, 2022
9334693
[BugFix]: Replay buffer bugfixes (#294)
vmoens Jul 19, 2022
d18bfc7
[Doc] MacOs M1 troubleshooting (#296)
ramonmedel Jul 19, 2022
6757d04
[Feature]: Improving training efficiency (#293)
vmoens Jul 19, 2022
c447eaa
[Feature] Wandb logger (#274)
nicolas-dufour Jul 19, 2022
d449ede
fix: update issue and pr template (#303)
Benjamin-eecs Jul 20, 2022
0dd4594
[Test] tests for `BinarizeReward` (#302)
srikanthmg85 Jul 20, 2022
8b9e537
[BugFix]: L2-priority for PRB (#305)
vmoens Jul 20, 2022
a5a37cc
[Feature] Transforms: Compose.insert and TransformedEnv.insert_transf…
rmartimov Jul 20, 2022
701dfb7
[BugFix] Fix flaky test by waiting for procs instead of sleep (#306)
nairbv Jul 20, 2022
8c9bd48
[BugFix] Fix a build warning, setuptools/distutils import order (#307)
nairbv Jul 20, 2022
565e868
fix sort order (#308)
nairbv Jul 20, 2022
8503811
[BugFix]: Conda to pip for circleci (#310)
vmoens Jul 20, 2022
5c74ab7
[BugFix] Support list-based boolean masks for TensorDict (#299)
benoitdescamps Jul 21, 2022
a0af473
[Feature] Truly invertible tensordict permutation of dimensions (#295)
ramonmedel Jul 22, 2022
f07015d
[Doc] Tensordictmodule tutorial (#267)
nicolas-dufour Jul 22, 2022
23ca67c
[Feature] Rename _TensorDict into TensorDictBase (#316)
yoavnavon Jul 23, 2022
f5d6820
[Release]: v0.0.1b versioning (#317)
vmoens Jul 25, 2022
53bee4b
[Feature] Adding additional checks to `TensorDict.view` to remove unn…
bamaxw Jul 25, 2022
7c43aef
[BugFix]: Safe state normalization when std=0 (#323)
vmoens Jul 25, 2022
25dca6e
[BugFix]: gradient propagation in advantage estimates (#322)
vmoens Jul 25, 2022
8be79de
[BugFix]: make training example gracefully exit (#326)
vmoens Jul 25, 2022
32bf860
[Setup]: Exclude tutorials from wheels (#325)
vmoens Jul 25, 2022
c5f5cda
[BugFix]: Tensor map for subtensordict.set_ (#324)
vmoens Jul 25, 2022
00ddc39
[Wheels]: Wheels v0.0.1c (#327)
vmoens Jul 25, 2022
3124500
[BugFix] Fixed compose which ignored inv_transforms of child (#328)
nicolas-dufour Jul 27, 2022
df44dd9
[BugFix] functorch installation in CircleCI (#336)
vmoens Aug 3, 2022
401f6eb
[Refactor] VecNorm inference API (#337)
vmoens Aug 4, 2022
15d21db
TransformedEnv sets added Transforms into eval mode (#331)
alexanderlobov Aug 4, 2022
5f3c437
[Refactor] make `to_tensordict()` create a copy of the content (#334)
nicolas-dufour Aug 4, 2022
2f2105e
Delete version.py
vmoens Aug 5, 2022
30ef218
[CircleCI] Fix dm_control rendering (#339)
vmoens Aug 6, 2022
27b1c50
[BugFix]: joining processes when they're done (#311)
vmoens Aug 6, 2022
ffe906c
[Test] pass the OS error in case the file isn't closed (#344)
tongbaojia Aug 6, 2022
2f57154
[Feature] Make default rollout tensordict contiguous (#343)
vmoens Aug 6, 2022
c61ae7b
[BugFix] Clone memmap tensors on regular tensors and other replay buf…
vmoens Aug 8, 2022
2c3ab67
[CI] Using latest gym (#346)
vmoens Aug 8, 2022
d295fae
[Doc] Coding your first DDPG tutorial (#345)
vmoens Aug 9, 2022
ded93d3
[Doc] Minor: typos in DDPG (#354)
vmoens Aug 10, 2022
c2062a7
[Feature] Register lambda and gamma in buffers (#353)
vmoens Aug 10, 2022
7e4080a
[Feature] Implement __eq__ for TensorSpec (#358)
omikad Aug 10, 2022
bb57835
[Doc] Multi-tasking tutorial (#352)
vmoens Aug 10, 2022
d4b2ced
[Feature] Env refactoring for model based RL (#315)
nicolas-dufour Aug 10, 2022
69e7948
[Feature]: Added support for TensorDictSequence module subsampling (#…
nicolas-dufour Aug 10, 2022
600a36d
[BugFix] Add lock to vec norm transform (#356)
jaschmid-fb Aug 10, 2022
7c15c1c
[Perf]: Improve PPO training performance (#297)
vmoens Aug 11, 2022
e5b03c1
[BugFix] Functorch-Tensordict bug fixes (#361)
vmoens Aug 12, 2022
d819efb
Revert "[BugFix] Functorch-Tensordict bug fixes (#361)" (#362)
vmoens Aug 12, 2022
34fc9c6
[BugFix] Functorch-Tensordict bug fixes (#363)
vmoens Aug 12, 2022
84d3acf
[Feature] Support tensor-based decay in TD-lambda (#360)
tcbegley Aug 23, 2022
17ef664
[Feature] CSVLogger (#372)
vmoens Aug 24, 2022
0667be5
[BugFix] Fewer env instantiations for better mujoco rendering (#378)
vmoens Aug 26, 2022
6ebc61e
[Feature] change imports of environment libraries (gym and dm_control…
guabao Aug 28, 2022
ae249c2
[BugFix] Representation of indexed nested tensordict (#370)
vmoens Aug 28, 2022
c63d98b
[BugFix] In-place `__setitem__` for SubTensorDict (#369)
vmoens Aug 29, 2022
87bffcf
[Feature] Add `ProbabilisticTensorDictModule` dist key mapping suppor…
nicolas-dufour Aug 30, 2022
a61c8a5
[Feature]: R3M integration (#321)
vmoens Aug 31, 2022
86de26f
[Feature] static_seed flag for envs, vectorized envs and collectors (…
vmoens Sep 1, 2022
1f205ff
[Feature] AdditiveGaussian exploration strategy (#388)
vmoens Sep 1, 2022
b6db2ad
[Feature] Multi-images R3M (#389)
vmoens Sep 2, 2022
4121555
[Feature] Flatten multi-images in R3M (#391)
vmoens Sep 5, 2022
2c49c21
[Quality] Code cleanup for fbsync (#392)
vmoens Sep 5, 2022
19e3c0b
[Feature] In-house functional modules for TorchRL using TensorDict (#…
vmoens Sep 7, 2022
086098e
[Quality] Code cleanup for fbsync (#397)
vmoens Sep 7, 2022
de66dca
[Doc] Add charts to examples (#374)
nicolas-dufour Sep 7, 2022
a8ab4fa
[Feature] Vectorized GAE (#365)
vmoens Sep 7, 2022
7eda9aa
[BugFix] Temporarily fix gym to 0.25.1 to fix CI (#411)
vmoens Sep 9, 2022
c648a19
[Feature] Create a Squeeze transform and update Unsqueeze transform (…
reachsumit Sep 9, 2022
3bdae23
[Naming] Recurse kwarg to match PyTorch (#410)
matt-fff Sep 9, 2022
b8c0cde
[Feature] Add all implemented loggers to the init of loggers (#402)
Sep 9, 2022
96223fc
[BugFix] Fix gym 0.26 compatibility (#403)
vmoens Sep 9, 2022
47bed63
[BugFix] Remove submodules (#414)
vmoens Sep 9, 2022
aba6ff6
[Feature] lock tensordict when calling `share_memory_()` (#412)
fdabek1 Sep 9, 2022
152773a
[BugFix] Updated TensorDict.expand to work as Tensor.expand (#409)
AnshulSehgal Sep 10, 2022
71a9100
[BugFix] Looser check for test_recorder assertion (#415)
vmoens Sep 11, 2022
d98ef0d
[Feature] Allow spec to be passed directly to exploration wrappers (#…
vmoens Sep 11, 2022
b81731f
[BugFix] Collector revert to default exploration mode if empty string…
vmoens Sep 11, 2022
47906c6
Rename _TargetNetUpdate to TargetNetUpdater, making it public (#422)
yushiyangk Sep 12, 2022
0e06991
[Doc] Re-run tutorials (#381)
vmoens Sep 12, 2022
da02524
Revert "[Doc] Re-run tutorials (#381)" (#423)
vmoens Sep 12, 2022
fe20f5b
[Feature] Switch back to latest gym (#425)
vmoens Sep 12, 2022
51b0497
[Feature] TensorDict without device (#413)
tcbegley Sep 12, 2022
a9321e2
[DOC] Updated the README.md file (#427)
bashnick Sep 12, 2022
59007c3
[Feature] Adding support for initialising TensorDicts from nested dic…
zeenolife Sep 12, 2022
486a11b
[Features] Make image_size a cfg param (#430)
nicolas-dufour Sep 12, 2022
29f59c9
Make TensorDict.expand accept Sequence arguments (#424)
nicolasgriffiths Sep 12, 2022
448f76c
[Doc] Readme revamp for efficiency/modularity display (#382)
vmoens Sep 13, 2022
280c009
[Feature] New `biased_softplus` semantic to allow for minimum scale s…
nicolas-dufour Sep 13, 2022
a2546f3
[Tutorial] Re-run tutos (#434)
vmoens Sep 13, 2022
2567060
[BugFix] mixed device_safe vs device (#429)
vmoens Sep 13, 2022
9648aa0
[BugFix] Explicit params and buffers (#436)
agrotov Sep 13, 2022
409c293
[BugFix] Fixed Additive noise (#441)
nicolas-dufour Sep 14, 2022
67b745f
[Tests] Test loggers video saving (#439)
bashnick Sep 14, 2022
d694814
Revert "[BugFix] Fixed Additive noise (#441)" (#442)
vmoens Sep 14, 2022
902a393
[Refactor] Rename TensorDictSequence to TensorDictSequential (#440)
ronert Sep 14, 2022
ff5f78d
[Refactor] Refactoring `set*()` methods for `TensorDictBase` class (#…
zeenolife Sep 14, 2022
e2a518c
[Cleanup] Removing gym-retro interface (#444)
vmoens Sep 14, 2022
8dceee8
[BugFix]: Fix additive noise (#447)
nicolas-dufour Sep 14, 2022
85fdbab
[BugFix] CatTensors: Prepended next_ to the out_key (#449)
ggimler3 Sep 15, 2022
840b6b6
[BugFix] Fix AdditiveGaussian exploration tests (#450)
vmoens Sep 15, 2022
47dfefa
[BugFix] Missing `Any` import in dm_control.py
vmoens Sep 15, 2022
fd97614
[BugFix] Wrong call to `device_safe` in replay buffer code (#454)
vmoens Sep 15, 2022
2127e60
[BugFix] Add transform_observation_spec _R3MNet (#443)
ymwdalex Sep 15, 2022
8c313c8
[Doc] Add a knowledge base (#375)
shagunsodhani Sep 15, 2022
cd90398
[Feature] Allow for actions and rewards to be in the reset tensordict…
vmoens Sep 16, 2022
ea66abf
[Doc] Readme for knowledge base (#459)
vmoens Sep 16, 2022
ef1bf20
[Feature] Added `batch_lock` attribute in EnvBase (#399)
nicolas-dufour Sep 16, 2022
e0e3cf3
[BugFix] deepcopy specs before transforming (#461)
vmoens Sep 16, 2022
3da4d6a
[Features]: Keep actions and rewards across steps in rollout (#460)
nicolas-dufour Sep 16, 2022
f29b826
[BugFix] Fixed dm_control action type casting (#463)
nicolas-dufour Sep 16, 2022
b3a46c6
[Versioning] Version 0.0.2a0 (#465)
vmoens Sep 17, 2022
5ff09d2
Update functorch source installation command (#446)
zou3519 Sep 19, 2022
58d82f1
[BugFix] TransformedEnv attributes inheritance (#467)
vmoens Sep 20, 2022
8ede243
[Feature] Cleanup mocking envs init and new (#469)
vmoens Sep 20, 2022
443e5d9
[Tests] Adding tensordict `__repr__` tests (#435)
sladebot Sep 21, 2022
24e5e0e
[Feature] Making the EnvBase.action_spec property point to _input_spe…
JulienB-78 Sep 21, 2022
2b9fbe1
[Logging]: implement MLFlow logging integration (#432)
rayanht Sep 21, 2022
dcbdb79
[BugFix] MLFlow import fix (#473)
vmoens Sep 22, 2022
004083e
[BugFix] add build-time dependencies to pyproject.toml (#475)
brandonsj Sep 22, 2022
3d76553
[Features]: Changed `_inplace_update ` cls parameter passing in `__ne…
nicolas-dufour Sep 22, 2022
3ad912e
[Feature]: ModelBased Envs (#333)
nicolas-dufour Sep 22, 2022
681cb23
init (#476)
vmoens Sep 22, 2022
01eb884
[Tutorial] DQN tutorial (#474)
vmoens Sep 23, 2022
ab20863
[Feature] reader hooks for GymLike (#478)
vmoens Sep 23, 2022
f569ac3
[BugFix] TensorSpec.zero(None) failure fix (#483)
vmoens Sep 23, 2022
17bd40f
[BugFix] functorch _C import (#484)
vmoens Sep 23, 2022
2deac6d
[Feature]: Support for planners and CEM (#384)
nicolas-dufour Sep 23, 2022
b049144
[Feature] Replaced `device_safe()` with `device` (#485)
ordinskiy Sep 23, 2022
c498aac
[Feature]: `TensorDictPrimer` transform (#456)
nicolas-dufour Sep 23, 2022
7f9b2a9
Added erase to the timeit utility (#480)
nicolas-dufour Sep 23, 2022
ab986ab
Added support for single collector in sync_async_collector (#482)
nicolas-dufour Sep 23, 2022
d1924ba
[BugFix] removing unwanted device_safe() (#486)
vmoens Sep 23, 2022
1c889d6
[Refactoring] Refactored get_stats_random_rollout (#481)
nicolas-dufour Sep 24, 2022
592eed5
[Feature] VIP Integration (#487)
JasonMa2016 Sep 26, 2022
e23518e
[Refactoring] Minor tweaks to recorder and logger (#489)
nicolas-dufour Sep 26, 2022
b0982cc
[Feature]: Deactivate typechecks in envs (#490)
nicolas-dufour Sep 26, 2022
eb3e6cc
[BugFix] Vectorized td_lambda with gamma tensor does not match the se…
vmoens Sep 26, 2022
726bbe7
[BugFix] Fix TensorDictPrimer init (#491)
vmoens Sep 27, 2022
8ad9296
[Feature] Optional auto-reset when done for collectors and batched en…
vmoens Sep 27, 2022
235a1ac
[BugFix] Defaulting `passing_devices` to `None` (#477)
himjohntang Sep 28, 2022
4c9e624
Revert "[BugFix] Defaulting `passing_devices` to `None` (#477)" (#494)
vmoens Sep 28, 2022
7721d16
[BugFix] Multi-agent fixes (#488)
vmoens Sep 28, 2022
b08234c
[BugFix] Defaulting `passing_devices` to `None` (#495)
vmoens Sep 28, 2022
c246f88
[BugFix] removing unwanted ipynb
vmoens Sep 29, 2022
f1e0dad
[Feature] Lazy initialization of CatTensors (#497)
vmoens Sep 29, 2022
417817a
[Cleanup] Removing cuda 10.2 references (#498)
vmoens Sep 29, 2022
24a4a21
[BugFix] Migration to pytorch org (#499)
vmoens Sep 30, 2022
c644a34
[Refactoring] Import at root to enable vmap monkey-patching (#500)
vmoens Sep 30, 2022
73028e4
[BugFix] Minor bugfixes in TensorDictSequential (#501)
vmoens Sep 30, 2022
3af3b1c
[BugFix] python version for linting checks (#502)
vmoens Oct 2, 2022
29c75f2
[Feature] Replay Buffers refactor (#330)
bamaxw Oct 2, 2022
ffcbf2c
[Doc] contribution pointers in README.md
vmoens Oct 3, 2022
9bfc7ff
[Feature] Rename step_tensordict in step_mdp (#512)
romainjln Oct 4, 2022
bec577f
[Lint] re-instantiate F821 (#516)
vmoens Oct 4, 2022
13eb49e
[BugFix] run_type_checks for TransformedEnvs (#513)
vmoens Oct 4, 2022
9103fd1
[BugFix] making first_dim and last_dim negative in FlattenObservation…
vmoens Oct 4, 2022
ceba0e9
[Feature] Add info dict key-spec pairs to observation_spec (#504)
tcbegley Oct 5, 2022
5fc3b7c
[Feature] nightly_build.yaml
vmoens Oct 5, 2022
d194735
[BugFix] Changing the dm_control import to fail if not installed (#515)
zeenolife Oct 5, 2022
3cfba85
[CI] Add coverage with codecov (#523)
silvestrebahi Oct 6, 2022
bb3713f
Revert "[CI] Add coverage with codecov (#523)" (#525)
vmoens Oct 6, 2022
4b98096
[Doc] Update examples instructions in README.md
vmoens Oct 6, 2022
35db6fe
Use relative imports for local c++ deps (#526)
apbard Oct 6, 2022
2970e23
[Feature] Nightly release (#519)
vmoens Oct 7, 2022
db446af
[Feature] Add make_tensordict() function (#522)
sicong-huang Oct 7, 2022
7dcb7fc
[Doc] Misc doc fixes (#532)
Oct 7, 2022
3357d19
[BugFix] Replacing inference_mode decorator with no_grad to fix state…
Oct 7, 2022
497ad8f
[BugFix] Transformed ParallelEnv meta data are broken when passing to…
vmoens Oct 7, 2022
e9cee79
[Doc] Add coverage banner (#533)
vmoens Oct 7, 2022
9eeafbf
[BugFix] Fix colab link of coding_dqn.ipynb (#543)
Benjamin-eecs Oct 9, 2022
bd0120e
[BugFix] Fix optional imports (#535)
vmoens Oct 9, 2022
b2eb1b8
[BugFix] Restore missing keys in data collector output (#521)
tcbegley Oct 10, 2022
2f31613
[Lint] reorganize imports (#545)
apbard Oct 10, 2022
f351fd7
[BugFix] Single-cpu compatibility (#548)
vmoens Oct 11, 2022
59b1f2b
[BugFix] vision install and other deps in optdeps (#552)
vmoens Oct 11, 2022
26e3083
[Feature] Implemented device argument for modules.models (#524)
yushiyangk Oct 12, 2022
691ecbf
[BugFix] Fix ellipsis indexing of 2d TensorDicts (#559)
vmoens Oct 12, 2022
7cd07cb
[BugFix] Additive gaussian exploration spec fix (#560)
vmoens Oct 12, 2022
a243cdd
[BugFix] Disabling video step for wandb (#561)
vmoens Oct 12, 2022
609c72e
[BugFix] Various device fix (#558)
vmoens Oct 12, 2022
4862459
[Feature] Allow collectors to accept regular modules as policies (#546)
tcbegley Oct 12, 2022
341b3ab
[BugFix] Fix push binary nightly action (#566)
psolikov Oct 13, 2022
872dd2d
[BugFix] TensorDict comparison (#567)
vmoens Oct 13, 2022
77beeb9
[BugFix] Fix SyncDataCollector reset (#571)
jrobine Oct 15, 2022
7edad2d
[Doc] Banners on README.md (#572)
vmoens Oct 16, 2022
bc26b99
Displaying keys in alphabetical order during replay buffer init (#573)
nikhlrao Oct 17, 2022
86a1a13
[BugFix] Add eps to reward normalization (#574)
vmoens Oct 17, 2022
19d4d48
[BugFix] Broken link on README banners
vmoens Oct 17, 2022
685c08e
[BugFix] Fix argument for PPOLoss.get_entropy_bonus() (#578)
vmoens Oct 17, 2022
002e1e9
[Feature] Restructure torchrl/objectives (#580)
sgrigory Oct 18, 2022
2a76ac3
init
vmoens Oct 18, 2022
32433d0
Merge branch 'main' into docs
vmoens Oct 18, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
345 changes: 294 additions & 51 deletions .circleci/config.yml

Large diffs are not rendered by default.

12 changes: 8 additions & 4 deletions .circleci/unittest/linux/scripts/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@ channels:
- defaults
dependencies:
- pip
- cmake >= 3.18
- protobuf
- pip:
- hypothesis
- protobuf
- future
- cloudpickle
- gym_retro
- gym
- pygame
- gym[accept-rom-license]
Expand All @@ -19,8 +17,14 @@ dependencies:
- pytest
- pytest-cov
- pytest-mock
- pytest-instafail
- expecttest
- pyyaml
- scipy
- hydra-core
- tensorboard
- wandb
- dm_control
- mujoco_py
- mlflow
- av
- coverage
30 changes: 4 additions & 26 deletions .circleci/unittest/linux/scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ eval "$(./conda/bin/conda shell.bash hook)"
conda activate ./env

if [ "${CU_VERSION:-}" == cpu ] ; then
cudatoolkit="cpuonly"
version="cpu"
echo "Using cpu build"
else
if [[ ${#CU_VERSION} -eq 4 ]]; then
CUDA_VERSION="${CU_VERSION:2:1}.${CU_VERSION:3:1}"
Expand All @@ -21,42 +21,20 @@ else
fi
echo "Using CUDA $CUDA_VERSION as determined by CU_VERSION ($CU_VERSION)"
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")"
cudatoolkit="cudatoolkit=${version}"
fi

case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac

# submodules
git submodule sync && git submodule update --init --recursive

#printf "Installing PyTorch with %s\n" "${cudatoolkit}"
#if [ "${os}" == "MacOSX" ]; then
# conda install -y -c "pytorch-${UPLOAD_CHANNEL}" "pytorch-${UPLOAD_CHANNEL}"::pytorch "${cudatoolkit}" pytest
#else
# conda install -y -c "pytorch-${UPLOAD_CHANNEL}" "pytorch-${UPLOAD_CHANNEL}"::pytorch[build="*${version}*"] "${cudatoolkit}" pytest
#fi

#printf "Installing PyTorch with %s\n" "${CU_VERSION}"
printf "Installing PyTorch with %s\n" "${CU_VERSION}"
if [ "${CU_VERSION:-}" == cpu ] ; then
# conda install -y pytorch torchvision cpuonly -c pytorch-nightly
# use pip to install pytorch as conda can frequently pick older release
pip install torch torchvision -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html --pre
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
else
conda install -y pytorch torchvision cudatoolkit=10.2 -c pytorch-nightly
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cu113
fi

printf "Installing functorch\n"
pip install ninja # Makes the build go faster
pip install "git+https://github.com/pytorch/functorch.git"

# smoke test
python -c "import functorch"

printf "* Installing torchrl\n"
python setup.py develop

# smoke test
python -c "import torchrl"
20 changes: 14 additions & 6 deletions .circleci/unittest/linux/scripts/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,18 @@ conda activate ./env

export PYTORCH_TEST_WITH_SLOW='1'
python -m torch.utils.collect_env
# Avoid error: "fatal: unsafe repository"
git config --global --add safe.directory '*'

root_dir="$(git rev-parse --show-toplevel)"
export MJLIB_PATH=$root_dir/.mujoco/mujoco-2.1.1/lib/libmujoco.so.2.1.1
export MUJOCO_PY_MUJOCO_PATH=$root_dir/.mujoco/mujoco210
export DISPLAY=unix:0.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/project/.mujoco/mujoco210/bin
#MUJOCO_GL=glfw pytest --cov=torchrl --junitxml=test-results/junit.xml -v --durations 20
MUJOCO_GL=glfw pytest -v --durations 20
env_dir="${root_dir}/env"
lib_dir="${env_dir}/lib"

# solves ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$lib_dir
export MKL_THREADING_LAYER=GNU

coverage run -m pytest test/smoke_test.py -v --durations 20
coverage run -m pytest test/smoke_test_deps.py -v --durations 20
coverage run -m pytest --instafail -v --durations 20
coverage xml
43 changes: 37 additions & 6 deletions .circleci/unittest/linux/scripts/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@
set -e

this_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Avoid error: "fatal: unsafe repository"
git config --global --add safe.directory '*'
root_dir="$(git rev-parse --show-toplevel)"
conda_dir="${root_dir}/conda"
env_dir="${root_dir}/env"
lib_dir="${env_dir}/lib"

cd "${root_dir}"

Expand All @@ -37,7 +40,7 @@ conda activate "${env_dir}"

# 3. Install mujoco
printf "* Installing mujoco and related\n"
mkdir $root_dir/.mujoco
mkdir -p $root_dir/.mujoco
cd $root_dir/.mujoco/
wget https://github.com/deepmind/mujoco/releases/download/2.1.1/mujoco-2.1.1-linux-x86_64.tar.gz
tar -xf mujoco-2.1.1-linux-x86_64.tar.gz
Expand All @@ -49,9 +52,37 @@ cd $this_dir
printf "* Installing dependencies (except PyTorch)\n"
echo " - python=${PYTHON_VERSION}" >> "${this_dir}/environment.yml"
cat "${this_dir}/environment.yml"
conda env update --file "${this_dir}/environment.yml" --prune

#yum makecache
#yum -y install glfw-devel
#yum -y install libGLEW
#yum -y install gcc-c++

if [[ $OSTYPE == 'darwin'* ]]; then
PRIVATE_MUJOCO_GL=glfw
elif [ "${CU_VERSION:-}" == cpu ]; then
PRIVATE_MUJOCO_GL=osmesa
else
PRIVATE_MUJOCO_GL=egl
fi

export MUJOCO_GL=$PRIVATE_MUJOCO_GL
conda env config vars set MUJOCO_PY_MUJOCO_PATH=$root_dir/.mujoco/mujoco210 \
DISPLAY=unix:0.0 \
MJLIB_PATH=$root_dir/.mujoco/mujoco-2.1.1/lib/libmujoco.so.2.1.1 \
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$root_dir/.mujoco/mujoco210/bin \
SDL_VIDEODRIVER=dummy \
MUJOCO_GL=$PRIVATE_MUJOCO_GL \
PYOPENGL_PLATFORM=$PRIVATE_MUJOCO_GL

# Software rendering requires GLX and OSMesa.
if [ $PRIVATE_MUJOCO_GL == 'egl' ] || [ $PRIVATE_MUJOCO_GL == 'osmesa' ] ; then
yum makecache
yum install -y glfw
yum install -y glew
yum install -y mesa-libGL
yum install -y mesa-libGL-devel
yum install -y mesa-libOSMesa-devel
yum -y install egl-utils
yum -y install freeglut
fi

pip install pip --upgrade

conda env update --file "${this_dir}/environment.yml" --prune
5 changes: 2 additions & 3 deletions .circleci/unittest/linux_optdeps/scripts/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ channels:
- defaults
dependencies:
- pip
- cmake >= 3.18
- pip:
- hypothesis
- protobuf
- future
- cloudpickle
- tqdm
- pytest
- pytest-cov
- pytest-mock
- pytest-instafail
- expecttest
- pyyaml
- scipy
- coverage
26 changes: 5 additions & 21 deletions .circleci/unittest/linux_optdeps/scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ eval "$(./conda/bin/conda shell.bash hook)"
conda activate ./env

if [ "${CU_VERSION:-}" == cpu ] ; then
cudatoolkit="cpuonly"
version="cpu"
else
if [[ ${#CU_VERSION} -eq 4 ]]; then
Expand All @@ -21,36 +20,21 @@ else
fi
echo "Using CUDA $CUDA_VERSION as determined by CU_VERSION ($CU_VERSION)"
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")"
cudatoolkit="cudatoolkit=${version}"
fi

case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac

# submodules
git submodule sync && git submodule update --init --recursive

#printf "Installing PyTorch with %s\n" "${cudatoolkit}"
#if [ "${os}" == "MacOSX" ]; then
# conda install -y -c "pytorch-${UPLOAD_CHANNEL}" "pytorch-${UPLOAD_CHANNEL}"::pytorch "${cudatoolkit}" pytest
#else
# conda install -y -c "pytorch-${UPLOAD_CHANNEL}" "pytorch-${UPLOAD_CHANNEL}"::pytorch[build="*${version}*"] "${cudatoolkit}" pytest
#fi

#printf "Installing PyTorch with %s\n" "${CU_VERSION}"
printf "Installing PyTorch with %s\n" "${CU_VERSION}"
if [ "${CU_VERSION:-}" == cpu ] ; then
# conda install -y pytorch torchvision cpuonly -c pytorch-nightly
# use pip to install pytorch as conda can frequently pick older release
pip install torch -f https://download.pytorch.org/whl/nightly/cpu/torch_nightly.html --pre
# conda install -y pytorch cpuonly -c pytorch-nightly
pip3 install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cpu
else
conda install -y pytorch cudatoolkit=10.2 -c pytorch-nightly
pip3 install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cu113
fi

printf "Installing functorch\n"
pip install ninja # Makes the build go faster
pip install "git+https://github.com/pytorch/functorch.git"

# smoke test
python -c "import functorch"

Expand Down
7 changes: 6 additions & 1 deletion .circleci/unittest/linux_optdeps/scripts/run_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,15 @@ conda activate ./env

export PYTORCH_TEST_WITH_SLOW='1'
python -m torch.utils.collect_env
# Avoid error: "fatal: unsafe repository"
git config --global --add safe.directory '*'
root_dir="$(git rev-parse --show-toplevel)"
export MJLIB_PATH=$root_dir/.mujoco/mujoco-2.1.1/lib/libmujoco.so.2.1.1
export MUJOCO_PY_MUJOCO_PATH=$root_dir/.mujoco/mujoco210
export DISPLAY=unix:0.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/project/.mujoco/mujoco210/bin
export MKL_THREADING_LAYER=GNU

#MUJOCO_GL=glfw pytest --cov=torchrl --junitxml=test-results/junit.xml -v --durations 20
MUJOCO_GL=glfw pytest -v --durations 20
MUJOCO_GL=egl coverage run -m pytest --instafail -v --durations 20
coverage xml
23 changes: 14 additions & 9 deletions .circleci/unittest/linux_optdeps/scripts/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
set -e

this_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# Avoid error: "fatal: unsafe repository"
git config --global --add safe.directory '*'
root_dir="$(git rev-parse --show-toplevel)"
conda_dir="${root_dir}/conda"
env_dir="${root_dir}/env"
Expand Down Expand Up @@ -35,20 +37,23 @@ if [ ! -d "${env_dir}" ]; then
fi
conda activate "${env_dir}"

# 3. Install mujoco
printf "* Installing mujoco and related\n"
mkdir $root_dir/.mujoco
cd $root_dir/.mujoco/
wget https://github.com/deepmind/mujoco/releases/download/2.1.1/mujoco-2.1.1-linux-x86_64.tar.gz
tar -xf mujoco-2.1.1-linux-x86_64.tar.gz
wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
tar -xf mujoco210-linux-x86_64.tar.gz
cd $this_dir
## 3. Install mujoco
#printf "* Installing mujoco and related\n"
#mkdir $root_dir/.mujoco
#cd $root_dir/.mujoco/
#wget https://github.com/deepmind/mujoco/releases/download/2.1.1/mujoco-2.1.1-linux-x86_64.tar.gz
#tar -xf mujoco-2.1.1-linux-x86_64.tar.gz
#wget https://mujoco.org/download/mujoco210-linux-x86_64.tar.gz
#tar -xf mujoco210-linux-x86_64.tar.gz
#cd $this_dir

# 4. Install Conda dependencies
printf "* Installing dependencies (except PyTorch)\n"
echo " - python=${PYTHON_VERSION}" >> "${this_dir}/environment.yml"
cat "${this_dir}/environment.yml"

pip install pip --upgrade

conda env update --file "${this_dir}/environment.yml" --prune

#yum makecache
Expand Down
12 changes: 8 additions & 4 deletions .circleci/unittest/linux_stable/scripts/environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,11 @@ channels:
dependencies:
- pip
- ninja
- cmake >= 3.18
- protobuf
- pip:
- hypothesis
- protobuf
- future
- cloudpickle
- gym_retro
- gym
- pygame
- gym[accept-rom-license]
Expand All @@ -20,8 +18,14 @@ dependencies:
- pytest
- pytest-cov
- pytest-mock
- pytest-instafail
- expecttest
- pyyaml
- scipy
- hydra-core
- tensorboard
- wandb
- dm_control
- mujoco_py
- mlflow
- av
- coverage
18 changes: 5 additions & 13 deletions .circleci/unittest/linux_stable/scripts/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ eval "$(./conda/bin/conda shell.bash hook)"
conda activate ./env

if [ "${CU_VERSION:-}" == cpu ] ; then
cudatoolkit="cpuonly"
version="cpu"
echo "Using cpu build"
else
if [[ ${#CU_VERSION} -eq 4 ]]; then
CUDA_VERSION="${CU_VERSION:2:1}.${CU_VERSION:3:1}"
Expand All @@ -21,28 +21,20 @@ else
fi
echo "Using CUDA $CUDA_VERSION as determined by CU_VERSION ($CU_VERSION)"
version="$(python -c "print('.'.join(\"${CUDA_VERSION}\".split('.')[:2]))")"
cudatoolkit="cudatoolkit=${version}"
fi

case "$(uname -s)" in
Darwin*) os=MacOSX;;
*) os=Linux
esac

# submodules
git submodule sync && git submodule update --init --recursive

printf "Installing PyTorch with %s\n" "${CU_VERSION}"
if [ "${CU_VERSION:-}" == cpu ] ; then
# conda install -y pytorch torchvision cpuonly -c pytorch-nightly
# use pip to install pytorch as conda can frequently pick older release
pip install torch torchvision
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
else
conda install -y pytorch torchvision cudatoolkit=10.2 -c pytorch
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
fi

printf "Installing functorch\n"
pip install functorch
pip3 install functorch

# smoke test
python -c "import functorch"
Expand All @@ -51,4 +43,4 @@ printf "* Installing torchrl\n"
printf "g++ version: "
gcc --version

python setup.py install
python setup.py develop
Loading