[Feature] Add mjlab environment wrapper#3910
Merged
Merged
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/3910
Note: Links to docs will display an error until the docs builds have been completed. ⏳ No Failures, 45 PendingAs of commit 539389c with merge base 98cfefd ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
59d561c to
bcd3b4c
Compare
Collaborator
Author
|
cc @lin-erica |
bcd3b4c to
bf703ef
Compare
Contributor
Benchmark Results: PR
|
| Benchmark | main ops | PR ops | Change |
|---|---|---|---|
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] |
452.53 | 3,476 | +668.07% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-ListStorage-None-400] |
52.05 | 191.91 | +268.70% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-RandomSampler-400] |
200.32 | 39.71 | -80.18% |
benchmarks/test_objectives_benchmarks.py::test_values[vec_td1_return_estimate-False-False] |
87.02 | 55.42 | -36.31% |
benchmarks/test_objectives_benchmarks.py::test_values[vec_generalized_advantage_estimate-True-True] |
87.19 | 55.86 | -35.93% |
benchmarks/test_objectives_benchmarks.py::test_values[vec_td_lambda_return_estimate-True-False] |
86.77 | 55.68 | -35.83% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] |
2,822 | 3,459 | +22.57% |
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[4-same] |
24.86 | 30.27 | +21.74% |
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb[200-img_shape1-large_batch] |
11.53 | 13.84 | +19.99% |
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb[100-img_shape0-atari] |
22.67 | 27.13 | +19.65% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] |
3,034 | 3,511 | +15.71% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] |
3,241 | 3,738 | +15.33% |
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-True-32-512] |
33.86 | 29.44 | -13.04% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] |
2,395 | 2,107 | -12.05% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-backward] |
130.40 | 145.46 | +11.55% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-400] |
569.43 | 504.39 | -11.42% |
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[16-same] |
23.96 | 21.26 | -11.26% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] |
2,091 | 2,320 | +10.96% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] |
3,141 | 2,816 | -10.34% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] |
2,260 | 2,037 | -9.85% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] |
2,156 | 2,338 | +8.45% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] |
3,372 | 3,109 | -7.78% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-480-640-64] |
7.1328 | 6.6752 | -6.42% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] |
3,478 | 3,259 | -6.29% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-1] |
184.28 | 193.93 | +5.23% |
benchmarks/test_objectives_benchmarks.py::test_redq_speed[False-backward] |
59.95 | 56.82 | -5.22% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-backward] |
969.77 | 1,020 | +5.14% |
benchmarks/test_objectives_benchmarks.py::test_cql_speed[True-backward] |
58.00 | 60.89 | +4.98% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-False-True] |
35,780 | 34,115 | -4.65% |
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-single-True] |
1.4014 | 1.3369 | -4.61% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[torch.save] |
7,022 | 7,326 | +4.33% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[False-backward] |
62.97 | 65.64 | +4.25% |
benchmarks/test_objectives_benchmarks.py::test_cql_speed[reduce-overhead-None] |
83.56 | 87.04 | +4.16% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-backward] |
246.92 | 257.14 | +4.14% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-64] |
10.39 | 10.82 | +4.12% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[reduce-overhead-None] |
284.02 | 295.73 | +4.12% |
benchmarks/test_objectives_benchmarks.py::test_values[td0_return_estimate-False-False] |
7,595 | 7,888 | +3.85% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[False-None] |
89.87 | 93.32 | +3.83% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape1-atari] |
702.88 | 729.55 | +3.79% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-False] |
49,457 | 51,310 | +3.75% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape1-atari] |
5,363 | 5,562 | +3.72% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[False-None] |
369.17 | 355.68 | -3.65% |
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[reduce-overhead-None] |
336.09 | 348.34 | +3.64% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-400] |
1,056 | 1,093 | +3.59% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[True-None] |
116.13 | 120.24 | +3.54% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape2-large_img] |
568.32 | 588.41 | +3.54% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-1000000-10000-100-False] |
48.88 | 50.59 | +3.49% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-None] |
491.57 | 474.96 | -3.38% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-100000-10000-100-False] |
52.86 | 54.64 | +3.37% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-400] |
1,078 | 1,042 | -3.35% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-400] |
478.81 | 462.95 | -3.31% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-16] |
17.69 | 18.27 | +3.31% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-True-True] |
18,677 | 18,061 | -3.30% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[untyped_storage] |
8.6039 | 8.8864 | +3.28% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-400] |
519.06 | 502.16 | -3.26% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[100-img_shape1-atari] |
647.39 | 668.39 | +3.24% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[pickle] |
12,212 | 12,605 | +3.23% |
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-True-1-512] |
675.60 | 654.03 | -3.19% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-False] |
64,705 | 66,710 | +3.10% |
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[4-constant] |
4,273 | 4,403 | +3.04% |
benchmarks/test_envs_benchmark.py::test_transformed |
0.9081 | 0.9345 | +2.90% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-4] |
70.72 | 72.68 | +2.78% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[reduce-overhead-None] |
284.60 | 292.50 | +2.77% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-True-True] |
22,519 | 21,899 | -2.76% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[True-None] |
712.02 | 731.48 | +2.73% |
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-False-0-gru] |
3.0513 | 2.9682 | -2.73% |
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-None] |
163.68 | 168.03 | +2.66% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-False] |
34,357 | 35,235 | +2.55% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-False] |
42,676 | 43,745 | +2.50% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[True-backward] |
442.06 | 431.03 | -2.49% |
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-True-0-gru] |
4.3324 | 4.2248 | -2.48% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-None] |
1,784 | 1,827 | +2.43% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[reduce-overhead-None] |
116.71 | 119.55 | +2.43% |
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-cudnn-True-0-gru] |
1.4275 | 1.3939 | -2.36% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-1] |
280.54 | 274.00 | -2.33% |
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[True-backward] |
127.18 | 130.11 | +2.31% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[reduce-overhead-None] |
756.84 | 739.44 | -2.30% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-None] |
279.06 | 285.31 | +2.24% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-True] |
28,804 | 29,440 | +2.21% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-4] |
47.69 | 48.72 | +2.15% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-False] |
57,285 | 58,516 | +2.15% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-64] |
4.4383 | 4.5308 | +2.08% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-224-224-1] |
643.00 | 656.22 | +2.05% |
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-backward] |
79.29 | 80.91 | +2.05% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[50-img_shape0-small] |
4,425 | 4,514 | +2.03% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-4] |
164.30 | 167.49 | +1.94% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-16] |
11.98 | 12.22 | +1.93% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] |
2,984 | 3,041 | +1.92% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[True-backward] |
60.55 | 61.70 | +1.91% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[False-None] |
50.62 | 51.57 | +1.87% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-True-True] |
19,311 | 18,951 | -1.86% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-10000-10000-100-False] |
54.48 | 55.46 | +1.79% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-480-640-1] |
476.82 | 485.33 | +1.78% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[200-img_shape3-large_batch] |
143.07 | 145.61 | +1.77% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[100-img_shape2-large_img] |
177.72 | 174.63 | -1.74% |
benchmarks/test_objectives_benchmarks.py::test_values[generalized_advantage_estimate-True-True] |
100.09 | 101.83 | +1.74% |
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[reduce-overhead-None] |
265.59 | 269.98 | +1.65% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-True] |
38,163 | 38,774 | +1.60% |
benchmarks/test_envs_benchmark.py::test_serial |
0.5891 | 0.5980 | +1.51% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-sampler6-10000] |
814.88 | 827.04 | +1.49% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape2-large_img] |
425.11 | 431.40 | +1.48% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-1] |
516.38 | 523.96 | +1.47% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[False-backward] |
93.69 | 92.33 | -1.46% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-True] |
42,915 | 42,291 | -1.45% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-True] |
31,022 | 30,585 | -1.41% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-True] |
24,681 | 25,028 | +1.41% |
benchmarks/test_objectives_benchmarks.py::test_gae_speed[generalized_advantage_estimate-False-1-512] |
114.05 | 115.63 | +1.38% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-64] |
2.9993 | 3.0402 | +1.36% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[reduce-overhead-None] |
1,940 | 1,914 | -1.36% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[200-img_shape3-large_batch] |
311.48 | 315.68 | +1.35% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[False-backward] |
84.48 | 85.61 | +1.33% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-True] |
20,716 | 20,991 | +1.33% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[False-None] |
129.75 | 128.04 | -1.32% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[numpy] |
360,582 | 365,309 | +1.31% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-ListStorage-RandomSampler-4000] |
172.70 | 170.46 | -1.30% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-True-True] |
21,003 | 21,273 | +1.29% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-ListStorage-SamplerWithoutReplacement-4000] |
171.00 | 173.14 | +1.25% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-backward] |
122.40 | 123.91 | +1.24% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-None] |
289.65 | 293.20 | +1.22% |
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[True-None] |
337.26 | 341.35 | +1.21% |
| ... | ... | ... | Showing 120 of 216 comparisons, sorted by absolute change. |
GPU
Compared 226 benchmarks. Regressions over 5%: 8. Improvements over 5%: 19.
| Benchmark | main ops | PR ops | Change |
|---|---|---|---|
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] |
463.09 | 2,016 | +335.34% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-SamplerWithoutReplacement-400] |
189.29 | 47.74 | -74.78% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] |
2,831 | 3,697 | +30.61% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] |
2,943 | 3,749 | +27.39% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[reduce-overhead-None] |
105.73 | 85.14 | -19.47% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] |
2,827 | 3,364 | +19.00% |
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb[200-img_shape1-large_batch] |
11.23 | 13.34 | +18.77% |
benchmarks/test_storage_write_benchmark.py::TestCollectorIntegrationBenchmark::test_collector_with_rb[100-img_shape0-atari] |
22.10 | 26.23 | +18.71% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] |
2,652 | 3,022 | +13.94% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-10000] |
3,017 | 3,341 | +10.76% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-10000] |
2,074 | 2,256 | +8.80% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-10000] |
3,101 | 3,320 | +7.06% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyTensorStorage-sampler7-10000] |
843.18 | 783.82 | -7.04% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[True-backward] |
341.74 | 365.79 | +7.04% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictPrioritizedReplayBuffer-LazyMemmapStorage-None-400] |
461.69 | 493.24 | +6.83% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[True-backward] |
448.00 | 478.14 | +6.73% |
benchmarks/test_objectives_benchmarks.py::test_td3_speed[True-backward] |
373.11 | 398.14 | +6.71% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] |
2,174 | 2,037 | -6.31% |
benchmarks/test_objectives_benchmarks.py::test_gae_speed[generalized_advantage_estimate-False-1-512] |
47.50 | 44.51 | -6.30% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictReplayBuffer-LazyMemmapStorage-sampler6-10000] |
787.68 | 739.99 | -6.05% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape2-large_img] |
573.98 | 539.40 | -6.02% |
benchmarks/test_objectives_benchmarks.py::test_redq_deprec_speed[True-backward] |
256.92 | 272.36 | +6.01% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-10000] |
2,934 | 3,104 | +5.80% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-True-True] |
19,603 | 20,722 | +5.71% |
benchmarks/test_objectives_benchmarks.py::test_values[td1_return_estimate-False-False] |
19.91 | 18.82 | -5.44% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_iterate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-10000] |
2,891 | 3,038 | +5.10% |
benchmarks/test_objectives_benchmarks.py::test_values[vec_generalized_advantage_estimate-True-True] |
289.11 | 303.84 | +5.10% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-1] |
271.06 | 284.05 | +4.79% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[pickle] |
12,415 | 11,822 | -4.77% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[safetensors] |
24,139 | 22,995 | -4.74% |
benchmarks/test_objectives_benchmarks.py::test_values[generalized_advantage_estimate-True-True] |
48.16 | 46.03 | -4.42% |
benchmarks/test_objectives_benchmarks.py::test_a2c_speed[False-backward] |
144.96 | 151.07 | +4.21% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-None] |
1,863 | 1,941 | +4.20% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-SamplerWithoutReplacement-400] |
1,053 | 1,010 | -4.03% |
benchmarks/test_objectives_benchmarks.py::test_cql_speed[True-backward] |
215.31 | 223.81 | +3.95% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[100-img_shape1-atari] |
4,052 | 4,211 | +3.95% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-True] |
36,399 | 37,828 | +3.92% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-False] |
55,728 | 57,909 | +3.92% |
benchmarks/test_envs_benchmark.py::test_cat_frames_functional[4-constant] |
4,588 | 4,766 | +3.87% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[True-backward] |
242.36 | 251.64 | +3.83% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-SamplerWithoutReplacement-400] |
521.56 | 501.75 | -3.80% |
benchmarks/test_objectives_benchmarks.py::test_ddpg_speed[False-backward] |
232.68 | 241.20 | +3.66% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-1000000-10000-100-True] |
22.02 | 21.26 | -3.44% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-True] |
19,231 | 19,884 | +3.40% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[200-img_shape3-large_batch] |
140.29 | 135.71 | -3.27% |
benchmarks/test_objectives_benchmarks.py::test_reinforce_speed[True-None] |
756.44 | 780.83 | +3.22% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_contiguous[50-img_shape0-small] |
6,132 | 5,934 | -3.22% |
benchmarks/test_envs_benchmark.py::test_simple |
1.2391 | 1.1991 | -3.22% |
benchmarks/test_objectives_benchmarks.py::test_values[td_lambda_return_estimate-True-False] |
11.82 | 11.44 | -3.17% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_sample[TensorDictPrioritizedReplayBuffer-LazyTensorStorage-None-10000] |
2,072 | 2,137 | +3.16% |
benchmarks/test_replaybuffer_benchmark.py::TestPrioritizedReplayBufferBenchmark::test_sampler_sample_scale[1000000-cuda] |
2,171 | 2,236 | +3.00% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-True] |
22,662 | 23,338 | +2.98% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-True] |
36,742 | 37,782 | +2.83% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[reduce-overhead-None] |
1,877 | 1,929 | +2.78% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-64] |
4.4143 | 4.5335 | +2.70% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-224-224-1] |
645.84 | 629.02 | -2.60% |
benchmarks/test_objectives_benchmarks.py::test_iql_speed[reduce-overhead-None] |
107.82 | 105.06 | -2.56% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_stack_then_write[100-img_shape1-atari] |
278.52 | 271.47 | -2.53% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-False-False] |
49,219 | 50,419 | +2.44% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-True-False-True] |
32,420 | 33,201 | +2.41% |
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[reduce-overhead-None] |
830.47 | 850.11 | +2.36% |
benchmarks/test_objectives_benchmarks.py::test_ppo_speed[False-backward] |
127.76 | 130.74 | +2.33% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-False-True] |
29,687 | 30,373 | +2.31% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-224-224-64] |
12.30 | 12.59 | +2.29% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-4] |
158.25 | 161.86 | +2.28% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-True] |
40,691 | 41,614 | +2.27% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[200-img_shape3-large_batch] |
331.77 | 324.50 | -2.19% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[50-img_shape0-small] |
4,286 | 4,380 | +2.18% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-64] |
10.60 | 10.83 | +2.17% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[False-backward] |
77.62 | 79.26 | +2.11% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[True-backward] |
887.98 | 906.57 | +2.09% |
benchmarks/test_collectors_benchmark.py::test_single_with_rb_pixels |
5.3047 | 5.1942 | -2.08% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-4] |
46.98 | 47.96 | +2.08% |
benchmarks/test_non_tensor_env_benchmark.py::test_non_tensor_env_rollout_speed[1000-parallel-buffers-False] |
0.5969 | 0.6092 | +2.06% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-False] |
44,106 | 45,006 | +2.04% |
benchmarks/test_objectives_benchmarks.py::test_td3_speed[False-backward] |
82.70 | 84.38 | +2.04% |
benchmarks/test_replaybuffer_benchmark.py::TestPrioritizedReplayBufferBenchmark::test_sample_mixed_devices[1000000-cuda_storage_cuda_samp... |
1,496 | 1,465 | -2.03% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-1] |
188.60 | 192.34 | +1.98% |
benchmarks/test_envs_benchmark.py::test_serial |
0.4184 | 0.4265 | +1.94% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_extend_sample[ReplayBuffer-LazyTensorStorage-RandomSampler-10000-10000-100-False] |
53.47 | 54.50 | +1.93% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-False-True] |
33,186 | 33,824 | +1.92% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-ListStorage-RandomSampler-400] |
191.53 | 195.15 | +1.89% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[reduce-overhead-None] |
104.58 | 102.62 | -1.87% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-480-640-1] |
479.93 | 470.99 | -1.86% |
benchmarks/test_envs_benchmark.py::test_parallel |
0.5423 | 0.5520 | +1.79% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-True-True] |
20,231 | 20,588 | +1.76% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-224-224-16] |
17.72 | 18.04 | +1.76% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-True-True-True] |
18,364 | 18,684 | +1.74% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-False-True] |
27,889 | 28,373 | +1.73% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[untyped_storage] |
8.0071 | 8.1437 | +1.71% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape2-large_img] |
409.44 | 402.69 | -1.65% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-False-True-True] |
19,356 | 19,658 | +1.56% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-False-False] |
75,427 | 76,587 | +1.54% |
benchmarks/test_envs_benchmark.py::test_transformed |
0.7085 | 0.6979 | -1.50% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-224-224-16] |
49.31 | 50.04 | +1.49% |
benchmarks/test_collectors_benchmark.py::test_single |
6.6742 | 6.5748 | -1.49% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyMemmapStorage-RandomSampler-400] |
510.58 | 502.99 | -1.49% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[torchvision-256-256-1] |
521.06 | 513.47 | -1.46% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-False-False-True-True] |
17,772 | 18,018 | +1.39% |
benchmarks/test_objectives_benchmarks.py::test_td3_speed[reduce-overhead-None] |
43.35 | 43.93 | +1.34% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-True-True] |
21,531 | 21,819 | +1.34% |
benchmarks/test_objectives_benchmarks.py::test_values[vec_td_lambda_return_estimate-True-False] |
852.20 | 840.84 | -1.33% |
benchmarks/test_objectives_benchmarks.py::test_dqn_speed[False-None] |
614.11 | 621.87 | +1.26% |
benchmarks/test_objectives_benchmarks.py::test_sac_speed[True-None] |
605.35 | 612.90 | +1.25% |
benchmarks/test_objectives_benchmarks.py::test_cql_speed[reduce-overhead-None] |
87.99 | 89.01 | +1.15% |
benchmarks/test_rnn_reset_backends_benchmark.py::test_rnn_rollout_with_intermediate_resets[b256-t128-i32-h512-scan-False-0-lstm] |
21.42 | 21.18 | -1.13% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[50-img_shape0-small] |
3,536 | 3,496 | -1.12% |
benchmarks/test_compressed_storage_benchmark.py::TestCompressedStorageBenchmark::test_tensor_to_bytestream_speed[torch.save] |
7,194 | 7,114 | -1.12% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-False-True-False-False] |
62,261 | 62,956 | +1.12% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_storage_write_lazystack[100-img_shape1-atari] |
692.93 | 700.20 | +1.05% |
benchmarks/test_objectives_benchmarks.py::test_gae_speed[vec_generalized_advantage_estimate-False-32-512] |
1,276 | 1,263 | -1.03% |
benchmarks/test_collectors_benchmark.py::test_async |
10.92 | 10.81 | -1.02% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-True-True-False] |
41,680 | 42,106 | +1.02% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-False-True] |
29,948 | 30,252 | +1.01% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[True-True-False-False-False] |
63,739 | 63,106 | -0.99% |
benchmarks/test_replaybuffer_benchmark.py::test_rb_populate[TensorDictReplayBuffer-LazyTensorStorage-RandomSampler-400] |
991.99 | 1,002 | +0.98% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-480-640-4] |
19.44 | 19.25 | -0.96% |
benchmarks/test_vla_preprocessing_benchmark.py::test_openvla_preprocessing_throughput[pil-256-256-16] |
11.86 | 11.97 | +0.96% |
benchmarks/test_storage_write_benchmark.py::TestStorageWriteBenchmark::test_collector_lazystack_then_write[200-img_shape3-large_batch] |
309.95 | 306.97 | -0.96% |
benchmarks/test_envs_benchmark.py::test_step_mdp_speed[False-True-False-True-False] |
31,847 | 31,542 | -0.96% |
| ... | ... | ... | Showing 120 of 226 comparisons, sorted by absolute change. |
65e6b65 to
1605ace
Compare
1605ace to
539389c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
MJLabWrapperandMJLabEnvfor mjlab manager-based RL environments.render()and single-envfrom_pixelssupport via mjlabrender_mode="rgb_array".Testing
python3 -m py_compile torchrl/envs/libs/mjlab.py test/libs/test_mjlab.py torchrl/trainers/algorithms/configs/envs_libs.py torchrl/trainers/algorithms/configs/__init__.py torchrl/envs/libs/__init__.py torchrl/envs/__init__.pyPYTHONPATH=$PWD /opt/homebrew/bin/python3.13 -m pytest test/libs/test_mjlab.py -qNote: the real mjlab CUDA Cartpole smoke test is skipped locally without mjlab/CUDA and runs in the dedicated mjlab Linux workflow.