agilerl 2.7.0.dev0__tar.gz → 2.7.0.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agilerl-2.7.0.dev2/.github/workflows/linux-tests.yml +94 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/workflows/macos-tests.yml +10 -1
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/workflows/windows-tests.yml +10 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.gitignore +6 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.pre-commit-config.yaml +5 -2
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/PKG-INFO +1 -1
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/__init__.py +13 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/__init__.py +5 -1
- agilerl-2.7.0.dev2/agilerl/algorithms/cispo.py +26 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/core/base.py +2104 -839
- agilerl-2.7.0.dev2/agilerl/algorithms/core/fused_lora.py +146 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/core/optimizer_wrapper.py +112 -14
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/core/registry.py +4 -3
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/dpo.py +63 -103
- agilerl-2.7.0.dev2/agilerl/algorithms/grpo.py +1076 -0
- agilerl-2.7.0.dev2/agilerl/algorithms/gspo.py +26 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/ippo.py +0 -43
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/maddpg.py +123 -42
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/matd3.py +149 -55
- agilerl-2.7.0.dev2/agilerl/algorithms/ppo_llm.py +905 -0
- agilerl-2.7.0.dev2/agilerl/algorithms/reinforce_llm.py +729 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/sft.py +25 -18
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/hpo/mutation.py +1 -1
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/hpo/tournament.py +2 -2
- agilerl-2.7.0.dev2/agilerl/llm_envs/__init__.py +37 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/base.py +261 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/preference.py +135 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/reasoning.py +163 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/search.py +120 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/sft.py +99 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/sync_vec_env.py +273 -0
- agilerl-2.7.0.dev2/agilerl/llm_envs/token_observation.py +349 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/protocols.py +24 -4
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/rollouts/on_policy.py +71 -1
- agilerl-2.7.0.dev2/agilerl/training/train_llm.py +1867 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/typing.py +15 -4
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/algo_utils.py +111 -20
- agilerl-2.7.0.dev2/agilerl/utils/llm_utils.py +867 -0
- agilerl-2.7.0.dev2/agilerl/utils/ppo_value_head.py +275 -0
- agilerl-2.7.0.dev2/agilerl/utils/probe_envs_llm.py +154 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/torch_utils.py +1 -1
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/utils.py +435 -70
- agilerl-2.7.0.dev2/agilerl/wrappers/llm_envs.py +19 -0
- agilerl-2.7.0.dev2/benchmarking/benchmarking_llm_multiturn.py +120 -0
- agilerl-2.7.0.dev0/benchmarking/benchmarking_dpo.py → agilerl-2.7.0.dev2/benchmarking/benchmarking_llm_preference.py +3 -3
- agilerl-2.7.0.dev0/benchmarking/benchmarking_grpo.py → agilerl-2.7.0.dev2/benchmarking/benchmarking_llm_reasoning.py +36 -57
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_sft.py +2 -2
- agilerl-2.7.0.dev2/configs/training/llm_finetuning/cispo.yaml +38 -0
- {agilerl-2.7.0.dev0/configs/training → agilerl-2.7.0.dev2/configs/training/llm_finetuning}/grpo.yaml +4 -3
- agilerl-2.7.0.dev2/configs/training/llm_finetuning/grpo_multiturn.yaml +30 -0
- agilerl-2.7.0.dev2/configs/training/llm_finetuning/gspo.yaml +36 -0
- agilerl-2.7.0.dev2/configs/training/llm_finetuning/ppo_llm.yaml +47 -0
- agilerl-2.7.0.dev2/configs/training/llm_finetuning/reinforce_llm.yaml +42 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/config_load.py +22 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/grpo_constant_target.yaml +24 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/grpo_grid_navigation.yaml +26 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/ppo_conditional_target.yaml +31 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/ppo_constant_target.yaml +27 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/ppo_grid_navigation.yaml +29 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/ppo_multi_input.yaml +28 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/configs/ppo_value_head.yaml +30 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_llm.py +186 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_llm_stage_1.py +252 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_llm_stage_2.py +283 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_llm_stage_3.py +400 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_llm_training_matrix.py +697 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/debugging_value.py +190 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/llm_debug_utils.py +16 -0
- agilerl-2.7.0.dev2/demos/llm/debugging/tiny_model.py +229 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/llm}/demo_llm_finetuning.py +6 -6
- agilerl-2.7.0.dev2/docs/api/algorithms/cispo.rst +137 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/dpo.rst +1 -2
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/grpo.rst +5 -2
- agilerl-2.7.0.dev2/docs/api/algorithms/gspo.rst +134 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/index.rst +30 -0
- agilerl-2.7.0.dev2/docs/api/algorithms/llmppo.rst +147 -0
- agilerl-2.7.0.dev2/docs/api/algorithms/llmreinforce.rst +145 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/sft.rst +1 -1
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/llm_utils.rst +1 -1
- agilerl-2.7.0.dev2/docs/api/wrappers/llm_envs.rst +12 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/debugging_rl/index.rst +61 -1
- agilerl-2.7.0.dev2/docs/llm_finetuning/llm_checkpoints.rst +148 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/pyproject.toml +8 -6
- agilerl-2.7.0.dev2/tests/__init__.py +5 -0
- agilerl-2.7.0.dev2/tests/assets/build_minari_fixture.py +67 -0
- agilerl-2.7.0.dev2/tests/assets/build_tiny_llm_fixture.py +129 -0
- agilerl-2.7.0.dev2/tests/assets/minari_cache/D4RL/door/human-v2/data/main_data.hdf5 +0 -0
- agilerl-2.7.0.dev2/tests/assets/minari_cache/D4RL/door/human-v2/data/metadata.json +1 -0
- agilerl-2.7.0.dev2/tests/assets/minari_cache/D4RL/door/namespace_metadata.json +1 -0
- agilerl-2.7.0.dev2/tests/assets/minari_cache/D4RL/namespace_metadata.json +1 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/added_tokens.json +24 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/chat_template.jinja +54 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/config.json +32 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/generation_config.json +6 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/model.safetensors +0 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/special_tokens_map.json +31 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/tokenizer.json +757444 -0
- agilerl-2.7.0.dev2/tests/assets/tiny_llm/tokenizer_config.json +207 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/conftest.py +154 -10
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/helper_functions.py +7 -0
- agilerl-2.7.0.dev2/tests/pz_vector_test_utils.py +482 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/subprocess_runner.py +31 -12
- agilerl-2.7.0.dev2/tests/test_algorithms/conftest.py +38 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_bandits/test_neural_ts.py +500 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_bandits/test_neural_ucb.py +517 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_base.py +1679 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_bc_lm.py +380 -371
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_core_base.py +2091 -452
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/conftest.py +116 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_dpo.py +907 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_fused_lora.py +125 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_grpo.py +4859 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_ppo_llm.py +1094 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_reinforce_llm.py +962 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_sft.py +917 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_vllm.py +143 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_multi_agent/test_ippo.py +2199 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_multi_agent/test_maddpg.py +1813 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_multi_agent/test_matd3.py +1972 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_optimizer_wrapper.py +209 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_cqn.py +573 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_ddpg.py +834 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_dqn.py +598 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_dqn_rainbow.py +799 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_ilql.py +1147 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_ppo.py +2073 -0
- agilerl-2.7.0.dev2/tests/test_algorithms/test_single_agent/test_td3.py +1070 -0
- agilerl-2.7.0.dev2/tests/test_components/test_multi_agent_replay_buffer.py +638 -0
- agilerl-2.7.0.dev2/tests/test_components/test_replay_buffer.py +1056 -0
- agilerl-2.7.0.dev2/tests/test_components/test_replay_data.py +170 -0
- agilerl-2.7.0.dev2/tests/test_components/test_sampler.py +487 -0
- agilerl-2.7.0.dev2/tests/test_components/test_segment_tree.py +129 -0
- agilerl-2.7.0.dev2/tests/test_data.py +456 -0
- agilerl-2.7.0.dev2/tests/test_hpo/test_mutation.py +2191 -0
- agilerl-2.7.0.dev2/tests/test_hpo/test_tournament.py +523 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_init.py +8 -6
- agilerl-2.7.0.dev2/tests/test_modules/test_base.py +957 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_bert.py +380 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_cnn.py +990 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_configs.py +85 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_custom_activation.py +26 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_dummy.py +77 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_gpt.py +416 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_lstm.py +494 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_mlp.py +291 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_multi_input.py +1103 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_resnet.py +386 -0
- agilerl-2.7.0.dev2/tests/test_modules/test_simba.py +357 -0
- agilerl-2.7.0.dev2/tests/test_networks/test_actors.py +854 -0
- agilerl-2.7.0.dev2/tests/test_networks/test_base.py +550 -0
- agilerl-2.7.0.dev2/tests/test_networks/test_distributions.py +279 -0
- agilerl-2.7.0.dev2/tests/test_networks/test_q_networks.py +638 -0
- agilerl-2.7.0.dev2/tests/test_networks/test_value_functions.py +190 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_protocols.py +214 -185
- agilerl-2.7.0.dev2/tests/test_rollouts/test_on_policy.py +393 -0
- agilerl-2.7.0.dev2/tests/test_train/test_train.py +5482 -0
- agilerl-2.7.0.dev2/tests/test_train/test_train_llm.py +2771 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_algo_utils.py +1951 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_cache.py +62 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_ilql_utils.py +82 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_llm_utils.py +1284 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_log_utils.py +213 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_minari_utils.py +307 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_ppo_value_head.py +482 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_utils/test_probe_envs.py +275 -265
- agilerl-2.7.0.dev2/tests/test_utils/test_probe_envs_llm.py +268 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_utils/test_probe_envs_ma.py +182 -172
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_utils/test_sampling_utils.py +1 -1
- agilerl-2.7.0.dev2/tests/test_utils/test_torch_utils.py +317 -0
- agilerl-2.7.0.dev2/tests/test_utils/test_utils.py +1204 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_utils/test_utils_evolvable.py +123 -118
- agilerl-2.7.0.dev2/tests/test_vector/test_vector.py +1758 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_agent.py +1549 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_wrappers/test_autoreset.py +126 -116
- agilerl-2.7.0.dev2/tests/test_wrappers/test_bandit_env.py +50 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_llm_envs.py +1186 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_make_evolvable.py +1309 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_multiturn_wrappers.py +872 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_ppo_test_method.py +79 -0
- agilerl-2.7.0.dev2/tests/test_wrappers/test_skills.py +62 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/utils.py +63 -2
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/uv.lock +1745 -1662
- agilerl-2.7.0.dev0/.github/workflows/linux-tests.yml +0 -55
- agilerl-2.7.0.dev0/agilerl/algorithms/grpo.py +0 -674
- agilerl-2.7.0.dev0/agilerl/training/train_llm.py +0 -1080
- agilerl-2.7.0.dev0/agilerl/utils/llm_utils.py +0 -252
- agilerl-2.7.0.dev0/agilerl/wrappers/llm_envs.py +0 -795
- agilerl-2.7.0.dev0/docs/api/wrappers/llm_envs.rst +0 -12
- agilerl-2.7.0.dev0/tests/pz_vector_test_utils.py +0 -245
- agilerl-2.7.0.dev0/tests/test_algorithms/test_bandits/test_neural_ts.py +0 -478
- agilerl-2.7.0.dev0/tests/test_algorithms/test_bandits/test_neural_ucb.py +0 -490
- agilerl-2.7.0.dev0/tests/test_algorithms/test_base.py +0 -1630
- agilerl-2.7.0.dev0/tests/test_algorithms/test_llms/conftest.py +0 -152
- agilerl-2.7.0.dev0/tests/test_algorithms/test_llms/test_dpo.py +0 -1089
- agilerl-2.7.0.dev0/tests/test_algorithms/test_llms/test_grpo.py +0 -4197
- agilerl-2.7.0.dev0/tests/test_algorithms/test_llms/test_sft.py +0 -915
- agilerl-2.7.0.dev0/tests/test_algorithms/test_multi_agent/test_ippo.py +0 -2066
- agilerl-2.7.0.dev0/tests/test_algorithms/test_multi_agent/test_maddpg.py +0 -1554
- agilerl-2.7.0.dev0/tests/test_algorithms/test_multi_agent/test_matd3.py +0 -1689
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_cqn.py +0 -567
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_ddpg.py +0 -775
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_dqn.py +0 -607
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_dqn_rainbow.py +0 -782
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_ilql.py +0 -1151
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_ppo.py +0 -2027
- agilerl-2.7.0.dev0/tests/test_algorithms/test_single_agent/test_td3.py +0 -1027
- agilerl-2.7.0.dev0/tests/test_components/test_multi_agent_replay_buffer.py +0 -629
- agilerl-2.7.0.dev0/tests/test_components/test_replay_buffer.py +0 -1051
- agilerl-2.7.0.dev0/tests/test_components/test_replay_data.py +0 -174
- agilerl-2.7.0.dev0/tests/test_components/test_sampler.py +0 -479
- agilerl-2.7.0.dev0/tests/test_components/test_segment_tree.py +0 -126
- agilerl-2.7.0.dev0/tests/test_data.py +0 -437
- agilerl-2.7.0.dev0/tests/test_hpo/test_mutation.py +0 -2117
- agilerl-2.7.0.dev0/tests/test_hpo/test_tournament.py +0 -453
- agilerl-2.7.0.dev0/tests/test_modules/test_base.py +0 -934
- agilerl-2.7.0.dev0/tests/test_modules/test_bert.py +0 -361
- agilerl-2.7.0.dev0/tests/test_modules/test_cnn.py +0 -972
- agilerl-2.7.0.dev0/tests/test_modules/test_configs.py +0 -79
- agilerl-2.7.0.dev0/tests/test_modules/test_custom_activation.py +0 -23
- agilerl-2.7.0.dev0/tests/test_modules/test_dummy.py +0 -79
- agilerl-2.7.0.dev0/tests/test_modules/test_gpt.py +0 -343
- agilerl-2.7.0.dev0/tests/test_modules/test_lstm.py +0 -488
- agilerl-2.7.0.dev0/tests/test_modules/test_mlp.py +0 -270
- agilerl-2.7.0.dev0/tests/test_modules/test_multi_input.py +0 -1055
- agilerl-2.7.0.dev0/tests/test_modules/test_resnet.py +0 -374
- agilerl-2.7.0.dev0/tests/test_modules/test_simba.py +0 -345
- agilerl-2.7.0.dev0/tests/test_networks/test_actors.py +0 -834
- agilerl-2.7.0.dev0/tests/test_networks/test_base.py +0 -534
- agilerl-2.7.0.dev0/tests/test_networks/test_distributions.py +0 -281
- agilerl-2.7.0.dev0/tests/test_networks/test_q_networks.py +0 -597
- agilerl-2.7.0.dev0/tests/test_networks/test_value_functions.py +0 -181
- agilerl-2.7.0.dev0/tests/test_rollouts/test_on_policy.py +0 -149
- agilerl-2.7.0.dev0/tests/test_train/test_train.py +0 -5428
- agilerl-2.7.0.dev0/tests/test_train/test_train_llm.py +0 -1495
- agilerl-2.7.0.dev0/tests/test_utils/test_algo_utils.py +0 -1579
- agilerl-2.7.0.dev0/tests/test_utils/test_cache.py +0 -55
- agilerl-2.7.0.dev0/tests/test_utils/test_ilql_utils.py +0 -82
- agilerl-2.7.0.dev0/tests/test_utils/test_llm_utils.py +0 -370
- agilerl-2.7.0.dev0/tests/test_utils/test_log_utils.py +0 -211
- agilerl-2.7.0.dev0/tests/test_utils/test_minari_utils.py +0 -276
- agilerl-2.7.0.dev0/tests/test_utils/test_torch_utils.py +0 -329
- agilerl-2.7.0.dev0/tests/test_utils/test_utils.py +0 -957
- agilerl-2.7.0.dev0/tests/test_vector/test_vector.py +0 -1702
- agilerl-2.7.0.dev0/tests/test_wrappers/test_agent.py +0 -1485
- agilerl-2.7.0.dev0/tests/test_wrappers/test_bandit_env.py +0 -40
- agilerl-2.7.0.dev0/tests/test_wrappers/test_llm_envs.py +0 -1152
- agilerl-2.7.0.dev0/tests/test_wrappers/test_make_evolvable.py +0 -1262
- agilerl-2.7.0.dev0/tests/test_wrappers/test_skills.py +0 -61
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/badges/arena-github-badge.svg +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/codeql/install_codeql.sh +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/codeql/run_codeql.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2/.github}/dependabot.yml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.github/workflows/codeql.yml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/.readthedocs.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/CITATION.cff +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/CODE_OF_CONDUCT.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/CONTRIBUTING.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/LICENSE +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/README.md +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/bc_lm.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/core/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/cqn.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/ddpg.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/dqn.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/dqn_rainbow.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/ilql.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/neural_ts_bandit.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/neural_ucb_bandit.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/ppo.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/algorithms/td3.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/data.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/multi_agent_replay_buffer.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/replay_buffer.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/rollout_buffer.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/sampler.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/components/segment_tree.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/data/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/data/language_environment.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/data/rl_data.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/data/tokenizer.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/data/torch_datasets.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/hpo/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/base.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/bert.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/cnn.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/configs.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/custom_components.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/dummy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/gpt.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/lstm.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/mlp.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/multi_input.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/resnet.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/modules/simba.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/actors.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/base.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/custom_modules.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/distributions.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/q_networks.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/networks/value_networks.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/rollouts/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_bandits.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_multi_agent_off_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_multi_agent_on_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_off_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_offline.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/training/train_on_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/cache.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/evolvable_networks.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/ilql_utils.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/log_utils.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/minari_utils.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/probe_envs.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/probe_envs_ma.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/utils/sampling_utils.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/vector/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/vector/pz_async_vec_env.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/vector/pz_vec_env.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/agent.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/learning.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/make_evolvable.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/pettingzoo_wrappers.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/agilerl/wrappers/utils.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_bandits.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_multi_agent_off_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_multi_agent_on_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_off_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_off_policy_distributed.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_offline.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_offline_distributed.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_on_policy.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_rainbow.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_recurrent.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_resnet.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/benchmarking_simba.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/configs/ds_config.json +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/make_evolvable_benchmarking.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/benchmarking/networks.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/accelerate/accelerate.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/accelerate/grpo_accelerate_config.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/bandit/neural_ts.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/bandit/neural_ucb.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/cqn.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ddpg/ddpg.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ddpg/ddpg_lstm.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ddpg/ddpg_simba.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/dqn/dqn.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/dqn/dqn_lstm.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/dqn/dqn_rainbow.yaml +0 -0
- {agilerl-2.7.0.dev0/configs/training → agilerl-2.7.0.dev2/configs/training/llm_finetuning}/dpo.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/multi_agent/ippo.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/multi_agent/ippo_pong.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/multi_agent/maddpg.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/multi_agent/matd3.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/multi_input.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ppo/ppo.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ppo/ppo_image.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/ppo/ppo_recurrent.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/sft.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/configs/training/td3.yaml +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/data/cartpole/cartpole_random_v1.1.0.h5 +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/data/cartpole/cartpole_v1.1.0.h5 +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/data/pendulum/pendulum_random_v1.1.0.h5 +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/data/pendulum/pendulum_v1.1.0.h5 +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/bandits}/demo_bandit.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/multi_agent}/demo_multi_agent.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_custom_network.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_off_policy.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_off_policy_distributed.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_offline.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_offline_distributed.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_on_policy.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_on_policy_rnn_cartpole.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_on_policy_rnn_memory.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/demo_on_policy_rnn_minigrid.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/performance_flamegraph_cartpole.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/performance_flamegraph_lunar_lander.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/performance_flamegraph_lunar_lander_rnn.py +0 -0
- {agilerl-2.7.0.dev0/demos → agilerl-2.7.0.dev2/demos/single_agent}/performance_flamegraph_rnn_memory.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/Makefile +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/arena-github-badge.svg +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/css/custom.css +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/favicon.ico +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/js/expand_sidebar.js +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/logo_teal.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/logo_white.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/module.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/network.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/thumbnails/iris-thumbnail.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/thumbnails/pendigits-thumbnail.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/thumbnails/rainbow_performance.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/_static/thumbnails/simba_thumbnail.png +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/base.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/cql.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/ddpg.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/dqn.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/dqn_rainbow.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/ilql.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/ippo.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/maddpg.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/matd3.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/neural_ts.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/neural_ucb.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/ppo.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/registry.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/td3.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/algorithms/wrappers.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/data.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/multi_agent_replay_buffer.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/replay_buffer.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/rollout_buffer.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/sampler.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/components/segment_tree.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/hpo/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/hpo/mutation.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/hpo/tournament.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/base.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/bert.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/cnn.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/custom_activation.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/dummy.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/gpt.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/lstm.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/mlp.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/multi_input.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/resnet.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/modules/simba.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/networks/actors.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/networks/base.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/networks/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/networks/q_networks.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/networks/value_networks.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/rollouts/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/rollouts/on_policy.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/train.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/algo_utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/cache.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/evolvable_networks.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/ilql_utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/log_utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/minari_utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/probe_envs.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/torch_utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/utils/utils.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/vector/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/vector/petting_zoo_async_vector_env.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/vector/petting_zoo_vector_env.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/wrappers/agent.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/wrappers/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/wrappers/learning.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/wrappers/make_evolvable.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/api/wrappers/pettingzoo.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/bandits/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/conf.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/custom_algorithms/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/distributed_training/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/evo_hyperparam_opt/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/evolvable_networks/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/get_started/agilerl2changes.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/get_started/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/llm_finetuning/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/make.bat +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/multi_agent_training/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/off_policy/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/offline_training/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/on_policy/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/pomdp/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/releases/index.rst +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/docs/requirements.txt +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/sitecustomize.py +0 -0
- {agilerl-2.7.0.dev0/tests → agilerl-2.7.0.dev2/tests/test_algorithms}/__init__.py +0 -0
- {agilerl-2.7.0.dev0/tests/test_algorithms → agilerl-2.7.0.dev2/tests/test_algorithms/test_bandits}/__init__.py +0 -0
- {agilerl-2.7.0.dev0/tests/test_algorithms/test_bandits → agilerl-2.7.0.dev2/tests/test_algorithms/test_llms}/__init__.py +0 -0
- /agilerl-2.7.0.dev0/tests/test_algorithms/test_llms/__init__.py → /agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_llm_checkpoint.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_multi_agent/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_multi_agent/conftest.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_registry.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_algorithms/test_single_agent/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_components/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_components/test_rollout_buffer.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_hpo/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_modules/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_networks/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_utils/__init__.py +0 -0
- {agilerl-2.7.0.dev0 → agilerl-2.7.0.dev2}/tests/test_wrappers/__init__.py +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Linux
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [main, nightly]
|
|
7
|
+
paths:
|
|
8
|
+
- agilerl/**
|
|
9
|
+
- tests/**
|
|
10
|
+
- .github/workflows/**
|
|
11
|
+
- pyproject.toml
|
|
12
|
+
pull_request:
|
|
13
|
+
paths:
|
|
14
|
+
- agilerl/**
|
|
15
|
+
- tests/**
|
|
16
|
+
- .github/workflows/**
|
|
17
|
+
- pyproject.toml
|
|
18
|
+
|
|
19
|
+
concurrency:
|
|
20
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
|
21
|
+
cancel-in-progress: true
|
|
22
|
+
|
|
23
|
+
permissions:
|
|
24
|
+
contents: read
|
|
25
|
+
|
|
26
|
+
jobs:
|
|
27
|
+
tests:
|
|
28
|
+
runs-on: gha-runner-scale-set
|
|
29
|
+
strategy:
|
|
30
|
+
fail-fast: false
|
|
31
|
+
max-parallel: 4
|
|
32
|
+
matrix:
|
|
33
|
+
python-version: ['3.10', '3.11', '3.12', '3.13']
|
|
34
|
+
|
|
35
|
+
container:
|
|
36
|
+
image: pytorch/pytorch:2.7.1-cuda12.6-cudnn9-devel
|
|
37
|
+
options: --user root
|
|
38
|
+
|
|
39
|
+
# Workspace (/__w) is ~1GB with little free space; root (/) has plenty. Put cache and venv on /.
|
|
40
|
+
env:
|
|
41
|
+
UV_CACHE_DIR: /tmp/uv-cache
|
|
42
|
+
UV_PROJECT_ENVIRONMENT: /tmp/agilerl-venv
|
|
43
|
+
HF_HOME: /tmp/hf-cache
|
|
44
|
+
TORCHINDUCTOR_CACHE_DIR: /tmp/inductor-cache
|
|
45
|
+
|
|
46
|
+
steps:
|
|
47
|
+
- uses: actions/checkout@v4
|
|
48
|
+
- uses: astral-sh/setup-uv@v7
|
|
49
|
+
with:
|
|
50
|
+
enable-cache: true
|
|
51
|
+
python-version: ${{ matrix.python-version }}
|
|
52
|
+
|
|
53
|
+
- name: Cache HuggingFace models
|
|
54
|
+
uses: actions/cache@v4
|
|
55
|
+
with:
|
|
56
|
+
path: /tmp/hf-cache
|
|
57
|
+
key: hf-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
|
|
58
|
+
restore-keys: hf-${{ matrix.python-version }}-
|
|
59
|
+
|
|
60
|
+
- name: Cache torch inductor compilations
|
|
61
|
+
uses: actions/cache@v4
|
|
62
|
+
with:
|
|
63
|
+
path: /tmp/inductor-cache
|
|
64
|
+
key: inductor-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
|
|
65
|
+
restore-keys: inductor-${{ matrix.python-version }}-
|
|
66
|
+
|
|
67
|
+
- name: Install dependencies
|
|
68
|
+
# swig is needed to build box2d-py from source (no pre-built wheels for py3.10+).
|
|
69
|
+
run: |
|
|
70
|
+
uv sync --locked --all-groups --extra all
|
|
71
|
+
echo "$UV_PROJECT_ENVIRONMENT/bin" >> $GITHUB_PATH
|
|
72
|
+
|
|
73
|
+
- name: Reset coverage data
|
|
74
|
+
run: rm -f .coverage .coverage.*
|
|
75
|
+
|
|
76
|
+
# Single phase: `-n auto --dist loadgroup` from pyproject gives 8
|
|
77
|
+
# workers on the gha-runner-scale-set node. `vllm`- and `gpu`-marked
|
|
78
|
+
# tests share the 4 `gputest0..gputest3` xdist groups defined in
|
|
79
|
+
# `tests/conftest.py`, which caps GPU-touching concurrency at 4
|
|
80
|
+
# workers regardless of -n; the remaining ~4 workers fan out across
|
|
81
|
+
# CPU-only tests. See the `pytest_collection_modifyitems` docstring
|
|
82
|
+
# for the GPU-memory and port-race rationale behind the 4-group cap.
|
|
83
|
+
#
|
|
84
|
+
# Single invocation = single coverage run; pytest-cov auto-combines
|
|
85
|
+
# the per-worker `.coverage.*` shards before writing `coverage.xml`,
|
|
86
|
+
# so we don't need a manual `coverage combine` step (which was
|
|
87
|
+
# tripping over corrupted shards under the old two-phase setup).
|
|
88
|
+
- name: Run tests
|
|
89
|
+
run: uv run pytest --exitfirst --cov=agilerl --cov-report=xml --durations=0 --durations-min=1.0
|
|
90
|
+
|
|
91
|
+
- name: Upload coverage reports to Codecov
|
|
92
|
+
uses: codecov/codecov-action@v3
|
|
93
|
+
env:
|
|
94
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -6,10 +6,20 @@ on:
|
|
|
6
6
|
branches: [main, nightly]
|
|
7
7
|
paths:
|
|
8
8
|
- agilerl/**
|
|
9
|
+
- tests/**
|
|
10
|
+
- .github/workflows/**
|
|
11
|
+
- pyproject.toml
|
|
9
12
|
pull_request:
|
|
10
13
|
branches: [main, nightly]
|
|
11
14
|
paths:
|
|
12
15
|
- agilerl/**
|
|
16
|
+
- tests/**
|
|
17
|
+
- .github/workflows/**
|
|
18
|
+
- pyproject.toml
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
|
22
|
+
cancel-in-progress: true
|
|
13
23
|
|
|
14
24
|
permissions:
|
|
15
25
|
contents: read
|
|
@@ -32,7 +42,6 @@ jobs:
|
|
|
32
42
|
python-version: ${{ matrix.python-version }}
|
|
33
43
|
|
|
34
44
|
- name: Install dependencies
|
|
35
|
-
# swig is needed to build box2d-py from source (no pre-built wheels for py3.10+).
|
|
36
45
|
run: |
|
|
37
46
|
uv sync --locked --all-groups --extra all
|
|
38
47
|
|
|
@@ -6,10 +6,20 @@ on:
|
|
|
6
6
|
branches: [main, nightly]
|
|
7
7
|
paths:
|
|
8
8
|
- agilerl/**
|
|
9
|
+
- tests/**
|
|
10
|
+
- .github/workflows/**
|
|
11
|
+
- pyproject.toml
|
|
9
12
|
pull_request:
|
|
10
13
|
branches: [main, nightly]
|
|
11
14
|
paths:
|
|
12
15
|
- agilerl/**
|
|
16
|
+
- tests/**
|
|
17
|
+
- .github/workflows/**
|
|
18
|
+
- pyproject.toml
|
|
19
|
+
|
|
20
|
+
concurrency:
|
|
21
|
+
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
|
|
22
|
+
cancel-in-progress: true
|
|
13
23
|
|
|
14
24
|
permissions:
|
|
15
25
|
contents: read
|
|
@@ -109,6 +109,8 @@ celerybeat.pid
|
|
|
109
109
|
# Environments
|
|
110
110
|
.env
|
|
111
111
|
.vscode/
|
|
112
|
+
.cursor/
|
|
113
|
+
.claude/
|
|
112
114
|
.venv*/
|
|
113
115
|
venv/
|
|
114
116
|
env.bak/
|
|
@@ -147,3 +149,7 @@ wandb/
|
|
|
147
149
|
|
|
148
150
|
# Cursor
|
|
149
151
|
.cursor
|
|
152
|
+
|
|
153
|
+
# AI assistant instructions
|
|
154
|
+
CLAUDE.md
|
|
155
|
+
AGENTS.md
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
# See https://pre-commit.com for more information
|
|
3
3
|
# See https://pre-commit.com/hooks.html for more hooks
|
|
4
|
+
|
|
5
|
+
# Vendored binary test fixtures; opaque to every hook here.
|
|
6
|
+
exclude: ^tests/assets/tiny_llm/
|
|
4
7
|
ci:
|
|
5
8
|
autoupdate_branch: nightly
|
|
6
9
|
skip: [codeql-python]
|
|
@@ -32,7 +35,7 @@ repos:
|
|
|
32
35
|
- --skip=*.css,*.js,*.map,*.scss,*.svg
|
|
33
36
|
- --ignore-words-list=magent,pres,roate
|
|
34
37
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
35
|
-
rev: v0.15.
|
|
38
|
+
rev: v0.15.12
|
|
36
39
|
hooks:
|
|
37
40
|
- id: ruff
|
|
38
41
|
name: Ruff Linter
|
|
@@ -47,7 +50,7 @@ repos:
|
|
|
47
50
|
|
|
48
51
|
- repo: https://github.com/astral-sh/uv-pre-commit
|
|
49
52
|
# uv version.
|
|
50
|
-
rev: 0.11.
|
|
53
|
+
rev: 0.11.8
|
|
51
54
|
hooks:
|
|
52
55
|
- id: uv-lock
|
|
53
56
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agilerl
|
|
3
|
-
Version: 2.7.0.
|
|
3
|
+
Version: 2.7.0.dev2
|
|
4
4
|
Summary: AgileRL is a deep reinforcement learning library focused on improving RL development through RLOps.
|
|
5
5
|
Author-email: Nick Ustaran-Anderegg <dev@agilerl.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -16,6 +16,19 @@ def get_extra_dependencies(package: str, extra: str) -> list[str]:
|
|
|
16
16
|
return deps
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
def _is_dist_installed(dist_name: str) -> bool:
|
|
20
|
+
"""Check if a distribution is installed by its PyPI name.
|
|
21
|
+
|
|
22
|
+
Uses distribution metadata instead of find_spec because PyPI names
|
|
23
|
+
can differ from import names.
|
|
24
|
+
"""
|
|
25
|
+
try:
|
|
26
|
+
metadata(dist_name)
|
|
27
|
+
return True
|
|
28
|
+
except PackageNotFoundError:
|
|
29
|
+
return False
|
|
30
|
+
|
|
31
|
+
|
|
19
32
|
LLM_PACKAGES = get_extra_dependencies("agilerl", "llm")
|
|
20
33
|
|
|
21
34
|
|
|
@@ -33,8 +33,12 @@ __all__ = [
|
|
|
33
33
|
]
|
|
34
34
|
|
|
35
35
|
if HAS_LLM_DEPENDENCIES:
|
|
36
|
+
from .cispo import CISPO
|
|
36
37
|
from .dpo import DPO
|
|
37
38
|
from .grpo import GRPO
|
|
39
|
+
from .gspo import GSPO
|
|
40
|
+
from .ppo_llm import PPO as LLMPPO
|
|
41
|
+
from .reinforce_llm import REINFORCE as LLMREINFORCE
|
|
38
42
|
from .sft import SFT
|
|
39
43
|
|
|
40
|
-
__all__ += ["DPO", "GRPO", "SFT"]
|
|
44
|
+
__all__ += ["CISPO", "DPO", "GRPO", "GSPO", "LLMPPO", "LLMREINFORCE", "SFT"]
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""CISPO algorithm variant built on top of GRPO."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from functools import partial
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
from agilerl.algorithms.grpo import GRPO, _signatures_without_loss_type
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CISPO(GRPO):
|
|
12
|
+
"""CISPO loss variant of :class:`agilerl.algorithms.grpo.GRPO`
|
|
13
|
+
|
|
14
|
+
Paper: https://arxiv.org/abs/2506.13585
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
_init_with_cispo = partial(GRPO.__init__, loss_type="cispo")
|
|
18
|
+
|
|
19
|
+
def __init__(self, *args: Any, **kwargs: Any) -> None:
|
|
20
|
+
"""Initialize a CISPO agent with fixed ``loss_type``."""
|
|
21
|
+
self._init_with_cispo(self, *args, **kwargs)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
_CISPO_CLASS_SIG, _CISPO_INIT_SIG = _signatures_without_loss_type()
|
|
25
|
+
CISPO.__signature__ = _CISPO_CLASS_SIG
|
|
26
|
+
CISPO.__init__.__signature__ = _CISPO_INIT_SIG
|