agilerl 2.7.0.dev2__tar.gz → 2.7.1__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.
Files changed (479) hide show
  1. agilerl-2.7.1/.envrc +5 -0
  2. agilerl-2.7.1/.gitattributes +3 -0
  3. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/workflows/linux-tests.yml +1 -1
  4. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.pre-commit-config.yaml +2 -2
  5. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/PKG-INFO +48 -48
  6. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/README.md +6 -5
  7. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/__init__.py +1 -14
  8. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/cispo.py +4 -10
  9. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/core/__init__.py +8 -1
  10. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/core/base.py +1612 -616
  11. agilerl-2.7.1/agilerl/algorithms/core/llm_ops/__init__.py +49 -0
  12. agilerl-2.7.1/agilerl/algorithms/core/llm_ops/fused_logprobs.py +274 -0
  13. agilerl-2.7.1/agilerl/algorithms/core/llm_ops/fused_lora.py +271 -0
  14. agilerl-2.7.1/agilerl/algorithms/core/llm_ops/fused_loss.py +769 -0
  15. agilerl-2.7.1/agilerl/algorithms/core/llm_ops/vllm_colocate.py +201 -0
  16. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/dpo.py +62 -6
  17. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/dqn.py +2 -2
  18. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/dqn_rainbow.py +2 -0
  19. agilerl-2.7.1/agilerl/algorithms/grpo.py +1845 -0
  20. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/gspo.py +4 -10
  21. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/ppo.py +3 -0
  22. agilerl-2.7.1/agilerl/algorithms/ppo_llm.py +1464 -0
  23. agilerl-2.7.1/agilerl/algorithms/reinforce_llm.py +1189 -0
  24. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/sft.py +76 -21
  25. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/sampler.py +1 -0
  26. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/sft.py +1 -1
  27. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/sync_vec_env.py +60 -8
  28. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/token_observation.py +156 -19
  29. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/base.py +4 -4
  30. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/cnn.py +11 -0
  31. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/protocols.py +8 -3
  32. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/rollouts/on_policy.py +17 -8
  33. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_llm.py +72 -31
  34. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_off_policy.py +2 -1
  35. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/typing.py +16 -0
  36. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/algo_utils.py +149 -2
  37. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/evolvable_networks.py +1 -1
  38. agilerl-2.7.1/agilerl/utils/llm_packing.py +276 -0
  39. agilerl-2.7.1/agilerl/utils/llm_utils.py +1960 -0
  40. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/minari_utils.py +10 -0
  41. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/ppo_value_head.py +7 -3
  42. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/utils.py +106 -9
  43. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/vector/pz_vec_env.py +1 -0
  44. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/learning.py +1 -1
  45. agilerl-2.7.1/benchmarking/benchmarking_llm_multiturn.py +156 -0
  46. agilerl-2.7.1/configs/accelerate/bench_accelerate_config.yaml +25 -0
  47. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/llm_finetuning/cispo.yaml +17 -8
  48. agilerl-2.7.1/configs/training/llm_finetuning/cispo_quant_bench.yaml +114 -0
  49. agilerl-2.7.1/configs/training/llm_finetuning/cispo_quant_bench_qwen.yaml +69 -0
  50. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/llm_finetuning/grpo.yaml +12 -11
  51. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/llm_finetuning/grpo_multiturn.yaml +17 -6
  52. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/llm_finetuning/gspo.yaml +15 -6
  53. agilerl-2.7.1/configs/training/llm_finetuning/ppo_llm.yaml +44 -0
  54. agilerl-2.7.1/configs/training/llm_finetuning/ppo_llm_quant_bench.yaml +68 -0
  55. agilerl-2.7.1/configs/training/llm_finetuning/reinforce_llm.yaml +40 -0
  56. agilerl-2.7.1/configs/training/llm_finetuning/reinforce_quant_bench.yaml +80 -0
  57. agilerl-2.7.1/custom-gym-env/acrobot.py +461 -0
  58. agilerl-2.7.1/custom-gym-env/requirements.txt +1 -0
  59. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_llm.py +0 -3
  60. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_llm_stage_1.py +0 -3
  61. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_llm_stage_2.py +1 -4
  62. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_llm_stage_3.py +0 -5
  63. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_llm_training_matrix.py +0 -1
  64. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/demo_llm_finetuning.py +6 -2
  65. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/grpo.rst +22 -6
  66. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/gspo.rst +2 -2
  67. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/index.rst +4 -0
  68. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/llmppo.rst +14 -0
  69. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/llmreinforce.rst +39 -2
  70. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/distributed_training/index.rst +2 -0
  71. agilerl-2.7.1/docs/llm_finetuning/fused_logprobs.rst +172 -0
  72. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/llm_finetuning/index.rst +23 -0
  73. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/llm_finetuning/llm_checkpoints.rst +18 -20
  74. agilerl-2.7.1/docs/llm_finetuning/quantization.rst +346 -0
  75. agilerl-2.7.1/docs/llm_finetuning/vllm_sleep_handoff.md +74 -0
  76. agilerl-2.7.1/grpo.yaml +65 -0
  77. agilerl-2.7.1/guess_the_number.py +117 -0
  78. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/pyproject.toml +63 -52
  79. agilerl-2.7.1/reward.py +72 -0
  80. agilerl-2.7.1/tensorboard_logs/CQN-CartPole-v1-04092026131147/events.out.tfevents.1775736707.Jaime-Laptop.890000.0 +0 -0
  81. agilerl-2.7.1/tensorboard_logs/IPPO-pettingzoo.mpe.simple_speaker_listener_v4-04092026132856/events.out.tfevents.1775737736.Jaime-Laptop.894244.0 +0 -0
  82. agilerl-2.7.1/tensorboard_logs/MADDPG-pettingzoo.mpe.simple_speaker_listener_v4-04092026134740/events.out.tfevents.1775738860.Jaime-Laptop.897254.0 +0 -0
  83. agilerl-2.7.1/tensorboard_logs/MADDPG-pettingzoo.mpe.simple_speaker_listener_v4-04092026140316/events.out.tfevents.1775739796.Jaime-Laptop.902018.0 +0 -0
  84. agilerl-2.7.1/tensorboard_logs/NeuralTS-IRIS-04092026105527/events.out.tfevents.1775728527.Jaime-Laptop.785816.0 +0 -0
  85. agilerl-2.7.1/tensorboard_logs/NeuralTS-IRIS-04092026110058/events.out.tfevents.1775728858.Jaime-Laptop.819376.0 +0 -0
  86. agilerl-2.7.1/tensorboard_logs/NeuralUCB-IRIS-04092026111556/events.out.tfevents.1775729756.Jaime-Laptop.822617.0 +0 -0
  87. agilerl-2.7.1/tensorboard_logs/PPO-LunarLander-v3-04092026131846/events.out.tfevents.1775737126.Jaime-Laptop.891893.0 +0 -0
  88. agilerl-2.7.1/tests/assets/tiny_llm/tokenizer.json +1 -0
  89. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/conftest.py +52 -6
  90. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_core_base.py +826 -549
  91. agilerl-2.7.1/tests/test_algorithms/test_llm_ops/test_fused_logprobs.py +81 -0
  92. agilerl-2.7.1/tests/test_algorithms/test_llm_ops/test_fused_lora.py +401 -0
  93. agilerl-2.7.1/tests/test_algorithms/test_llm_ops/test_fused_loss.py +1268 -0
  94. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/conftest.py +23 -23
  95. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_dpo.py +46 -0
  96. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_grpo.py +1731 -490
  97. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_ppo_llm.py +803 -32
  98. agilerl-2.7.1/tests/test_algorithms/test_llms/test_quantization.py +982 -0
  99. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_reinforce_llm.py +528 -29
  100. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_sft.py +26 -7
  101. agilerl-2.7.1/tests/test_algorithms/test_llms/test_vllm.py +333 -0
  102. agilerl-2.7.1/tests/test_algorithms/test_llms/test_vllm_colocate.py +314 -0
  103. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_multi_agent/test_matd3.py +38 -0
  104. agilerl-2.7.1/tests/test_algorithms/test_param_docstrings.py +102 -0
  105. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_ppo.py +4 -4
  106. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_hpo/test_mutation.py +3 -0
  107. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_hpo/test_tournament.py +1 -1
  108. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_protocols.py +21 -0
  109. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_rollouts/test_on_policy.py +9 -4
  110. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_train/test_train.py +16 -4
  111. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_train/test_train_llm.py +166 -38
  112. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_algo_utils.py +54 -0
  113. agilerl-2.7.1/tests/test_utils/test_llm_packing.py +374 -0
  114. agilerl-2.7.1/tests/test_utils/test_llm_utils.py +2818 -0
  115. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_log_utils.py +22 -5
  116. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_ppo_value_head.py +8 -8
  117. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_utils.py +501 -0
  118. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_agent.py +260 -0
  119. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_bandit_env.py +4 -2
  120. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_llm_envs.py +9 -7
  121. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_multiturn_wrappers.py +412 -10
  122. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/uv.lock +2926 -2642
  123. agilerl-2.7.0.dev2/agilerl/algorithms/core/fused_lora.py +0 -146
  124. agilerl-2.7.0.dev2/agilerl/algorithms/grpo.py +0 -1076
  125. agilerl-2.7.0.dev2/agilerl/algorithms/ppo_llm.py +0 -905
  126. agilerl-2.7.0.dev2/agilerl/algorithms/reinforce_llm.py +0 -729
  127. agilerl-2.7.0.dev2/agilerl/utils/llm_utils.py +0 -867
  128. agilerl-2.7.0.dev2/benchmarking/benchmarking_llm_multiturn.py +0 -120
  129. agilerl-2.7.0.dev2/configs/training/llm_finetuning/ppo_llm.yaml +0 -47
  130. agilerl-2.7.0.dev2/configs/training/llm_finetuning/reinforce_llm.yaml +0 -42
  131. agilerl-2.7.0.dev2/tests/assets/tiny_llm/tokenizer.json +0 -757444
  132. agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_fused_lora.py +0 -125
  133. agilerl-2.7.0.dev2/tests/test_algorithms/test_llms/test_vllm.py +0 -143
  134. agilerl-2.7.0.dev2/tests/test_utils/test_llm_utils.py +0 -1284
  135. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  136. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  137. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +0 -0
  138. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/badges/arena-github-badge.svg +0 -0
  139. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/codeql/install_codeql.sh +0 -0
  140. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/codeql/run_codeql.py +0 -0
  141. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/dependabot.yml +0 -0
  142. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/workflows/codeql.yml +0 -0
  143. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/workflows/macos-tests.yml +0 -0
  144. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.github/workflows/windows-tests.yml +0 -0
  145. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.gitignore +0 -0
  146. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/.readthedocs.yaml +0 -0
  147. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/CITATION.cff +0 -0
  148. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/CODE_OF_CONDUCT.md +0 -0
  149. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/CONTRIBUTING.md +0 -0
  150. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/LICENSE +0 -0
  151. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/__init__.py +0 -0
  152. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/bc_lm.py +0 -0
  153. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/core/optimizer_wrapper.py +0 -0
  154. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/core/registry.py +0 -0
  155. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/cqn.py +0 -0
  156. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/ddpg.py +0 -0
  157. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/ilql.py +0 -0
  158. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/ippo.py +0 -0
  159. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/maddpg.py +0 -0
  160. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/matd3.py +0 -0
  161. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/neural_ts_bandit.py +0 -0
  162. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/neural_ucb_bandit.py +0 -0
  163. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/algorithms/td3.py +0 -0
  164. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/__init__.py +0 -0
  165. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/data.py +0 -0
  166. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/multi_agent_replay_buffer.py +0 -0
  167. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/replay_buffer.py +0 -0
  168. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/rollout_buffer.py +0 -0
  169. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/components/segment_tree.py +0 -0
  170. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/data/__init__.py +0 -0
  171. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/data/language_environment.py +0 -0
  172. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/data/rl_data.py +0 -0
  173. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/data/tokenizer.py +0 -0
  174. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/data/torch_datasets.py +0 -0
  175. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/hpo/__init__.py +0 -0
  176. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/hpo/mutation.py +0 -0
  177. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/hpo/tournament.py +0 -0
  178. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/__init__.py +0 -0
  179. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/base.py +0 -0
  180. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/preference.py +0 -0
  181. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/reasoning.py +0 -0
  182. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/llm_envs/search.py +0 -0
  183. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/__init__.py +0 -0
  184. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/bert.py +0 -0
  185. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/configs.py +0 -0
  186. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/custom_components.py +0 -0
  187. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/dummy.py +0 -0
  188. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/gpt.py +0 -0
  189. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/lstm.py +0 -0
  190. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/mlp.py +0 -0
  191. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/multi_input.py +0 -0
  192. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/resnet.py +0 -0
  193. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/modules/simba.py +0 -0
  194. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/__init__.py +0 -0
  195. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/actors.py +0 -0
  196. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/base.py +0 -0
  197. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/custom_modules.py +0 -0
  198. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/distributions.py +0 -0
  199. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/q_networks.py +0 -0
  200. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/networks/value_networks.py +0 -0
  201. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/rollouts/__init__.py +0 -0
  202. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/__init__.py +0 -0
  203. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_bandits.py +0 -0
  204. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_multi_agent_off_policy.py +0 -0
  205. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_multi_agent_on_policy.py +0 -0
  206. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_offline.py +0 -0
  207. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/training/train_on_policy.py +0 -0
  208. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/__init__.py +0 -0
  209. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/cache.py +0 -0
  210. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/ilql_utils.py +0 -0
  211. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/log_utils.py +0 -0
  212. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/probe_envs.py +0 -0
  213. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/probe_envs_llm.py +0 -0
  214. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/probe_envs_ma.py +0 -0
  215. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/sampling_utils.py +0 -0
  216. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/utils/torch_utils.py +0 -0
  217. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/vector/__init__.py +0 -0
  218. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/vector/pz_async_vec_env.py +0 -0
  219. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/__init__.py +0 -0
  220. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/agent.py +0 -0
  221. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/llm_envs.py +0 -0
  222. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/make_evolvable.py +0 -0
  223. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/pettingzoo_wrappers.py +0 -0
  224. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/agilerl/wrappers/utils.py +0 -0
  225. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_bandits.py +0 -0
  226. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_llm_preference.py +0 -0
  227. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_llm_reasoning.py +0 -0
  228. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_multi_agent_off_policy.py +0 -0
  229. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_multi_agent_on_policy.py +0 -0
  230. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_off_policy.py +0 -0
  231. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_off_policy_distributed.py +0 -0
  232. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_offline.py +0 -0
  233. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_offline_distributed.py +0 -0
  234. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_on_policy.py +0 -0
  235. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_rainbow.py +0 -0
  236. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_recurrent.py +0 -0
  237. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_resnet.py +0 -0
  238. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_sft.py +0 -0
  239. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/benchmarking_simba.py +0 -0
  240. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/configs/ds_config.json +0 -0
  241. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/make_evolvable_benchmarking.py +0 -0
  242. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/benchmarking/networks.py +0 -0
  243. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/accelerate/accelerate.yaml +0 -0
  244. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/accelerate/grpo_accelerate_config.yaml +0 -0
  245. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/bandit/neural_ts.yaml +0 -0
  246. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/bandit/neural_ucb.yaml +0 -0
  247. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/cqn.yaml +0 -0
  248. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ddpg/ddpg.yaml +0 -0
  249. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ddpg/ddpg_lstm.yaml +0 -0
  250. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ddpg/ddpg_simba.yaml +0 -0
  251. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/dqn/dqn.yaml +0 -0
  252. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/dqn/dqn_lstm.yaml +0 -0
  253. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/dqn/dqn_rainbow.yaml +0 -0
  254. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/llm_finetuning/dpo.yaml +0 -0
  255. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/multi_agent/ippo.yaml +0 -0
  256. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/multi_agent/ippo_pong.yaml +0 -0
  257. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/multi_agent/maddpg.yaml +0 -0
  258. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/multi_agent/matd3.yaml +0 -0
  259. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/multi_input.yaml +0 -0
  260. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ppo/ppo.yaml +0 -0
  261. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ppo/ppo_image.yaml +0 -0
  262. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/ppo/ppo_recurrent.yaml +0 -0
  263. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/sft.yaml +0 -0
  264. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/configs/training/td3.yaml +0 -0
  265. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/data/cartpole/cartpole_random_v1.1.0.h5 +0 -0
  266. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/data/cartpole/cartpole_v1.1.0.h5 +0 -0
  267. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/data/pendulum/pendulum_random_v1.1.0.h5 +0 -0
  268. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/data/pendulum/pendulum_v1.1.0.h5 +0 -0
  269. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/bandits/demo_bandit.py +0 -0
  270. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/config_load.py +0 -0
  271. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/grpo_constant_target.yaml +0 -0
  272. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/grpo_grid_navigation.yaml +0 -0
  273. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/ppo_conditional_target.yaml +0 -0
  274. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/ppo_constant_target.yaml +0 -0
  275. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/ppo_grid_navigation.yaml +0 -0
  276. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/ppo_multi_input.yaml +0 -0
  277. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/configs/ppo_value_head.yaml +0 -0
  278. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/debugging_value.py +0 -0
  279. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/llm_debug_utils.py +0 -0
  280. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/llm/debugging/tiny_model.py +0 -0
  281. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/multi_agent/demo_multi_agent.py +0 -0
  282. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_custom_network.py +0 -0
  283. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_off_policy.py +0 -0
  284. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_off_policy_distributed.py +0 -0
  285. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_offline.py +0 -0
  286. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_offline_distributed.py +0 -0
  287. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_on_policy.py +0 -0
  288. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_on_policy_rnn_cartpole.py +0 -0
  289. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_on_policy_rnn_memory.py +0 -0
  290. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/demo_on_policy_rnn_minigrid.py +0 -0
  291. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/performance_flamegraph_cartpole.py +0 -0
  292. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/performance_flamegraph_lunar_lander.py +0 -0
  293. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/performance_flamegraph_lunar_lander_rnn.py +0 -0
  294. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/demos/single_agent/performance_flamegraph_rnn_memory.py +0 -0
  295. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/Makefile +0 -0
  296. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/__init__.py +0 -0
  297. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/arena-github-badge.svg +0 -0
  298. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/css/custom.css +0 -0
  299. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/favicon.ico +0 -0
  300. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/js/expand_sidebar.js +0 -0
  301. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/logo_teal.png +0 -0
  302. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/logo_white.png +0 -0
  303. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/module.png +0 -0
  304. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/network.png +0 -0
  305. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/thumbnails/iris-thumbnail.png +0 -0
  306. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/thumbnails/pendigits-thumbnail.png +0 -0
  307. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/thumbnails/rainbow_performance.png +0 -0
  308. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/_static/thumbnails/simba_thumbnail.png +0 -0
  309. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/base.rst +0 -0
  310. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/cispo.rst +0 -0
  311. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/cql.rst +0 -0
  312. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/ddpg.rst +0 -0
  313. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/dpo.rst +0 -0
  314. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/dqn.rst +0 -0
  315. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/dqn_rainbow.rst +0 -0
  316. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/ilql.rst +0 -0
  317. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/ippo.rst +0 -0
  318. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/maddpg.rst +0 -0
  319. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/matd3.rst +0 -0
  320. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/neural_ts.rst +0 -0
  321. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/neural_ucb.rst +0 -0
  322. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/ppo.rst +0 -0
  323. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/registry.rst +0 -0
  324. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/sft.rst +0 -0
  325. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/td3.rst +0 -0
  326. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/algorithms/wrappers.rst +0 -0
  327. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/data.rst +0 -0
  328. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/index.rst +0 -0
  329. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/multi_agent_replay_buffer.rst +0 -0
  330. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/replay_buffer.rst +0 -0
  331. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/rollout_buffer.rst +0 -0
  332. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/sampler.rst +0 -0
  333. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/components/segment_tree.rst +0 -0
  334. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/hpo/index.rst +0 -0
  335. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/hpo/mutation.rst +0 -0
  336. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/hpo/tournament.rst +0 -0
  337. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/base.rst +0 -0
  338. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/bert.rst +0 -0
  339. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/cnn.rst +0 -0
  340. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/custom_activation.rst +0 -0
  341. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/dummy.rst +0 -0
  342. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/gpt.rst +0 -0
  343. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/index.rst +0 -0
  344. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/lstm.rst +0 -0
  345. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/mlp.rst +0 -0
  346. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/multi_input.rst +0 -0
  347. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/resnet.rst +0 -0
  348. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/modules/simba.rst +0 -0
  349. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/networks/actors.rst +0 -0
  350. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/networks/base.rst +0 -0
  351. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/networks/index.rst +0 -0
  352. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/networks/q_networks.rst +0 -0
  353. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/networks/value_networks.rst +0 -0
  354. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/rollouts/index.rst +0 -0
  355. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/rollouts/on_policy.rst +0 -0
  356. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/train.rst +0 -0
  357. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/algo_utils.rst +0 -0
  358. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/cache.rst +0 -0
  359. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/evolvable_networks.rst +0 -0
  360. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/ilql_utils.rst +0 -0
  361. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/index.rst +0 -0
  362. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/llm_utils.rst +0 -0
  363. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/log_utils.rst +0 -0
  364. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/minari_utils.rst +0 -0
  365. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/probe_envs.rst +0 -0
  366. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/torch_utils.rst +0 -0
  367. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/utils/utils.rst +0 -0
  368. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/vector/index.rst +0 -0
  369. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/vector/petting_zoo_async_vector_env.rst +0 -0
  370. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/vector/petting_zoo_vector_env.rst +0 -0
  371. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/agent.rst +0 -0
  372. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/index.rst +0 -0
  373. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/learning.rst +0 -0
  374. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/llm_envs.rst +0 -0
  375. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/make_evolvable.rst +0 -0
  376. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/api/wrappers/pettingzoo.rst +0 -0
  377. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/bandits/index.rst +0 -0
  378. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/conf.py +0 -0
  379. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/custom_algorithms/index.rst +0 -0
  380. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/debugging_rl/index.rst +0 -0
  381. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/evo_hyperparam_opt/index.rst +0 -0
  382. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/evolvable_networks/index.rst +0 -0
  383. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/get_started/agilerl2changes.rst +0 -0
  384. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/get_started/index.rst +0 -0
  385. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/index.rst +0 -0
  386. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/make.bat +0 -0
  387. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/multi_agent_training/index.rst +0 -0
  388. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/off_policy/index.rst +0 -0
  389. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/offline_training/index.rst +0 -0
  390. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/on_policy/index.rst +0 -0
  391. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/pomdp/index.rst +0 -0
  392. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/releases/index.rst +0 -0
  393. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/docs/requirements.txt +0 -0
  394. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/sitecustomize.py +0 -0
  395. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/__init__.py +0 -0
  396. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/build_minari_fixture.py +0 -0
  397. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/build_tiny_llm_fixture.py +0 -0
  398. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/minari_cache/D4RL/door/human-v2/data/main_data.hdf5 +0 -0
  399. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/minari_cache/D4RL/door/human-v2/data/metadata.json +0 -0
  400. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/minari_cache/D4RL/door/namespace_metadata.json +0 -0
  401. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/minari_cache/D4RL/namespace_metadata.json +0 -0
  402. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/added_tokens.json +0 -0
  403. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/chat_template.jinja +0 -0
  404. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/config.json +0 -0
  405. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/generation_config.json +0 -0
  406. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/model.safetensors +0 -0
  407. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/special_tokens_map.json +0 -0
  408. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/assets/tiny_llm/tokenizer_config.json +0 -0
  409. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/helper_functions.py +0 -0
  410. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/pz_vector_test_utils.py +0 -0
  411. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/subprocess_runner.py +0 -0
  412. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/__init__.py +0 -0
  413. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/conftest.py +0 -0
  414. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_bandits/__init__.py +0 -0
  415. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_bandits/test_neural_ts.py +0 -0
  416. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_bandits/test_neural_ucb.py +0 -0
  417. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_base.py +0 -0
  418. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_bc_lm.py +0 -0
  419. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/__init__.py +0 -0
  420. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_llms/test_llm_checkpoint.py +0 -0
  421. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_multi_agent/__init__.py +0 -0
  422. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_multi_agent/conftest.py +0 -0
  423. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_multi_agent/test_ippo.py +0 -0
  424. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_multi_agent/test_maddpg.py +0 -0
  425. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_optimizer_wrapper.py +0 -0
  426. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_registry.py +0 -0
  427. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/__init__.py +0 -0
  428. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_cqn.py +0 -0
  429. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_ddpg.py +0 -0
  430. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_dqn.py +0 -0
  431. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_dqn_rainbow.py +0 -0
  432. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_ilql.py +0 -0
  433. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_algorithms/test_single_agent/test_td3.py +0 -0
  434. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/__init__.py +0 -0
  435. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_multi_agent_replay_buffer.py +0 -0
  436. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_replay_buffer.py +0 -0
  437. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_replay_data.py +0 -0
  438. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_rollout_buffer.py +0 -0
  439. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_sampler.py +0 -0
  440. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_components/test_segment_tree.py +0 -0
  441. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_data.py +0 -0
  442. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_hpo/__init__.py +0 -0
  443. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_init.py +0 -0
  444. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/__init__.py +0 -0
  445. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_base.py +0 -0
  446. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_bert.py +0 -0
  447. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_cnn.py +0 -0
  448. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_configs.py +0 -0
  449. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_custom_activation.py +0 -0
  450. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_dummy.py +0 -0
  451. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_gpt.py +0 -0
  452. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_lstm.py +0 -0
  453. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_mlp.py +0 -0
  454. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_multi_input.py +0 -0
  455. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_resnet.py +0 -0
  456. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_modules/test_simba.py +0 -0
  457. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/__init__.py +0 -0
  458. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/test_actors.py +0 -0
  459. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/test_base.py +0 -0
  460. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/test_distributions.py +0 -0
  461. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/test_q_networks.py +0 -0
  462. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_networks/test_value_functions.py +0 -0
  463. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/__init__.py +0 -0
  464. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_cache.py +0 -0
  465. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_ilql_utils.py +0 -0
  466. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_minari_utils.py +0 -0
  467. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_probe_envs.py +0 -0
  468. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_probe_envs_llm.py +0 -0
  469. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_probe_envs_ma.py +0 -0
  470. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_sampling_utils.py +0 -0
  471. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_torch_utils.py +0 -0
  472. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_utils/test_utils_evolvable.py +0 -0
  473. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_vector/test_vector.py +0 -0
  474. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/__init__.py +0 -0
  475. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_autoreset.py +0 -0
  476. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_make_evolvable.py +0 -0
  477. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_ppo_test_method.py +0 -0
  478. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/test_wrappers/test_skills.py +0 -0
  479. {agilerl-2.7.0.dev2 → agilerl-2.7.1}/tests/utils.py +0 -0
agilerl-2.7.1/.envrc ADDED
@@ -0,0 +1,5 @@
1
+ export UV_PROJECT_ENVIRONMENT=".venv313"
2
+
3
+ if [[ -d .venv313 ]]; then
4
+ source .venv313/bin/activate
5
+ fi
@@ -0,0 +1,3 @@
1
+ # Large test fixtures: treat as generated/binary so they don't bloat diffs,
2
+ # blame, or PR reviews. This is a minified HuggingFace tokenizer used by tests.
3
+ tests/assets/tiny_llm/tokenizer.json linguist-generated=true -diff
@@ -33,7 +33,7 @@ jobs:
33
33
  python-version: ['3.10', '3.11', '3.12', '3.13']
34
34
 
35
35
  container:
36
- image: pytorch/pytorch:2.7.1-cuda12.6-cudnn9-devel
36
+ image: pytorch/pytorch:2.11.0-cuda13.0-cudnn9-devel
37
37
  options: --user root
38
38
 
39
39
  # Workspace (/__w) is ~1GB with little free space; root (/) has plenty. Put cache and venv on /.
@@ -35,7 +35,7 @@ repos:
35
35
  - --skip=*.css,*.js,*.map,*.scss,*.svg
36
36
  - --ignore-words-list=magent,pres,roate
37
37
  - repo: https://github.com/astral-sh/ruff-pre-commit
38
- rev: v0.15.12
38
+ rev: v0.15.18
39
39
  hooks:
40
40
  - id: ruff
41
41
  name: Ruff Linter
@@ -50,7 +50,7 @@ repos:
50
50
 
51
51
  - repo: https://github.com/astral-sh/uv-pre-commit
52
52
  # uv version.
53
- rev: 0.11.8
53
+ rev: 0.11.23
54
54
  hooks:
55
55
  - id: uv-lock
56
56
 
@@ -1,59 +1,58 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agilerl
3
- Version: 2.7.0.dev2
3
+ Version: 2.7.1
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
7
7
  License-File: LICENSE
8
8
  Requires-Python: <3.14,>=3.10
9
- Requires-Dist: accelerate~=1.7.0
10
- Requires-Dist: dill~=0.3.7
11
- Requires-Dist: fastrand~=1.3.0
12
- Requires-Dist: flatten-dict~=0.4.2
13
- Requires-Dist: google-cloud-storage~=2.5.0
14
- Requires-Dist: gymnasium~=1.0.0
15
- Requires-Dist: h5py~=3.15.0
16
- Requires-Dist: hydra-core~=1.3.2
17
- Requires-Dist: jax[cpu]~=0.4.31
18
- Requires-Dist: matplotlib<3.10,~=3.9.4
19
- Requires-Dist: minari[all]==0.5.2
9
+ Requires-Dist: accelerate>=1.7.0
10
+ Requires-Dist: dill>=0.3.7
11
+ Requires-Dist: fastrand>=1.3.0
12
+ Requires-Dist: flatten-dict>=0.4.2
13
+ Requires-Dist: google-cloud-storage>=2.5.0
14
+ Requires-Dist: gymnasium>=1.0.0
15
+ Requires-Dist: h5py>=3.15.0
16
+ Requires-Dist: hydra-core>=1.3.2
17
+ Requires-Dist: jax[cpu]>=0.4.31
18
+ Requires-Dist: matplotlib>=3.9.4
19
+ Requires-Dist: minari[all]>=0.5.2
20
20
  Requires-Dist: numpy<3.0,>=2.0.0
21
- Requires-Dist: omegaconf~=2.3.0
21
+ Requires-Dist: omegaconf>=2.3.0
22
22
  Requires-Dist: packaging>=20.0
23
- Requires-Dist: pandas~=2.2.3
24
- Requires-Dist: pettingzoo~=1.23.1
25
- Requires-Dist: pre-commit~=3.8.0
26
- Requires-Dist: pygame~=2.6.0
27
- Requires-Dist: pymunk~=6.2.0
28
- Requires-Dist: redis~=4.4.4
29
- Requires-Dist: supersuit~=3.9.0
30
- Requires-Dist: tensordict~=0.8
31
- Requires-Dist: termcolor~=1.1.0
32
- Requires-Dist: torch==2.8.0; sys_platform == 'darwin'
33
- Requires-Dist: torch==2.9.0; sys_platform != 'darwin'
23
+ Requires-Dist: pandas>=2.2.3
24
+ Requires-Dist: pettingzoo>=1.23.1
25
+ Requires-Dist: pre-commit>=3.8.0
26
+ Requires-Dist: pygame>=2.6.0
27
+ Requires-Dist: pymunk<7.3,>=6.2
28
+ Requires-Dist: redis<8.1.0,>=4.4.4
29
+ Requires-Dist: supersuit>=3.9.0
30
+ Requires-Dist: tensordict==0.13.0
31
+ Requires-Dist: termcolor>=1.1.0
32
+ Requires-Dist: torch>=2.11.0
34
33
  Requires-Dist: tqdm>=4.66.4
35
- Requires-Dist: wandb~=0.18.0
34
+ Requires-Dist: wandb>=0.18.0
36
35
  Provides-Extra: all
37
- Requires-Dist: datasets==4.4.1; extra == 'all'
38
- Requires-Dist: deepspeed~=0.17.1; (sys_platform != 'win32') and extra == 'all'
39
- Requires-Dist: gymnasium[box2d]~=1.0.0; (sys_platform != 'win32') and extra == 'all'
40
- Requires-Dist: liger-kernel==0.7.0; (sys_platform == 'linux') and extra == 'all'
41
- Requires-Dist: peft~=0.18.0; extra == 'all'
42
- Requires-Dist: swig~=4.4.1; (sys_platform != 'win32') and extra == 'all'
43
- Requires-Dist: transformers~=4.57.1; extra == 'all'
44
- Requires-Dist: vllm==0.11.0; (sys_platform == 'darwin') and extra == 'all'
45
- Requires-Dist: vllm==0.13.0; (sys_platform == 'linux') and extra == 'all'
36
+ Requires-Dist: bitsandbytes==0.49.2; (sys_platform == 'linux') and extra == 'all'
37
+ Requires-Dist: datasets==5.0.0; extra == 'all'
38
+ Requires-Dist: deepspeed>=0.19.1; (sys_platform == 'linux') and extra == 'all'
39
+ Requires-Dist: gymnasium[box2d]>=1.0.0; (sys_platform != 'win32') and extra == 'all'
40
+ Requires-Dist: liger-kernel==0.8.0; (sys_platform == 'linux') and extra == 'all'
41
+ Requires-Dist: peft==0.19.1; extra == 'all'
42
+ Requires-Dist: swig>=4.4.1; (sys_platform != 'win32') and extra == 'all'
43
+ Requires-Dist: transformers==5.11.0; extra == 'all'
44
+ Requires-Dist: vllm>=0.23; (sys_platform == 'linux') and extra == 'all'
46
45
  Provides-Extra: box2d
47
- Requires-Dist: gymnasium[box2d]~=1.0.0; (sys_platform != 'win32') and extra == 'box2d'
48
- Requires-Dist: swig~=4.4.1; (sys_platform != 'win32') and extra == 'box2d'
46
+ Requires-Dist: gymnasium[box2d]>=1.0.0; (sys_platform != 'win32') and extra == 'box2d'
47
+ Requires-Dist: swig>=4.4.1; (sys_platform != 'win32') and extra == 'box2d'
49
48
  Provides-Extra: llm
50
- Requires-Dist: datasets==4.4.1; extra == 'llm'
51
- Requires-Dist: deepspeed~=0.17.1; (sys_platform != 'win32') and extra == 'llm'
52
- Requires-Dist: liger-kernel==0.7.0; (sys_platform == 'linux') and extra == 'llm'
53
- Requires-Dist: peft~=0.18.0; extra == 'llm'
54
- Requires-Dist: transformers~=4.57.1; extra == 'llm'
55
- Requires-Dist: vllm==0.11.0; (sys_platform == 'darwin') and extra == 'llm'
56
- Requires-Dist: vllm==0.13.0; (sys_platform == 'linux') and extra == 'llm'
49
+ Requires-Dist: bitsandbytes==0.49.2; (sys_platform == 'linux') and extra == 'llm'
50
+ Requires-Dist: datasets==5.0.0; extra == 'llm'
51
+ Requires-Dist: deepspeed>=0.19.1; (sys_platform == 'linux') and extra == 'llm'
52
+ Requires-Dist: liger-kernel==0.8.0; (sys_platform == 'linux') and extra == 'llm'
53
+ Requires-Dist: peft==0.19.1; extra == 'llm'
54
+ Requires-Dist: transformers==5.11.0; extra == 'llm'
55
+ Requires-Dist: vllm>=0.23; (sys_platform == 'linux') and extra == 'llm'
57
56
  Description-Content-Type: text/markdown
58
57
 
59
58
  <p align="center">
@@ -153,7 +152,7 @@ We are constantly updating our tutorials to showcase the latest features of Agil
153
152
  | [Hierarchical curriculum learning](https://docs.agilerl.com/en/latest/tutorials/skills/index.html) | Shows how to teach agents Skills and combine them to achieve an end goal. | [PPO - Lunar Lander](https://docs.agilerl.com/en/latest/tutorials/skills/index.html) |
154
153
  | [Contextual multi-arm bandits](https://docs.agilerl.com/en/latest/tutorials/bandits/index.html) | Learn to make the correct decision in environments that only have one timestep. | [NeuralUCB - Iris Dataset](https://docs.agilerl.com/en/latest/tutorials/bandits/agilerl_neural_ucb_tutorial.html) <br> [NeuralTS - PenDigits](https://docs.agilerl.com/en/latest/tutorials/bandits/agilerl_neural_ts_tutorial.html) |
155
154
  | [Custom Modules & Networks](https://docs.agilerl.com/en/latest/tutorials/custom_networks/index.html) | Learn how to create custom evolvable modules and networks for RL algorithms. | [Dueling Distributional Q Network](https://docs.agilerl.com/en/latest/tutorials/custom_networks/agilerl_rainbow_tutorial.html) <br> [EvolvableSimBa](https://docs.agilerl.com/en/latest/tutorials/custom_networks/agilerl_simba_tutorial.html) |
156
- | [LLM Finetuning](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) | Learn how to finetune an LLM using AgileRL. | [GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) |
155
+ | [LLM Finetuning](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) | Learn how to finetune an LLM using AgileRL. | [GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/grpo_finetuning.html) <br> [GRPO with HPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/grpo_hpo.html) <br> [SFT & DPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/sft_dpo_finetuning.html) <br> [Multi-turn LLMPPO, LLMREINFORCE & GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/multiturn_grpo_ppo.html) |
157
156
 
158
157
  ## Evolvable algorithms (more coming soon!)
159
158
 
@@ -179,10 +178,11 @@ We are constantly updating our tutorials to showcase the latest features of Agil
179
178
 
180
179
  ### LLM Fine-tuning Algorithms
181
180
 
182
- | RL | Algorithm |
183
- | ---------- | --------- |
184
- | [On-Policy](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Group Relative Policy Optimization (GRPO)](https://docs.agilerl.com/en/latest/api/algorithms/grpo.html)
185
- | [Off-Policy](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Direct Preference Optimization (DPO)](https://docs.agilerl.com/en/latest/api/algorithms/dpo.html)
181
+ | Type | Algorithm |
182
+ | ------------ | --------- |
183
+ | [On-Policy RL](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Group Relative Policy Optimization (GRPO)](https://docs.agilerl.com/en/latest/api/algorithms/grpo.html) <br> [Clipped IS-weight Policy Optimization (CISPO)](https://docs.agilerl.com/en/latest/api/algorithms/cispo.html) <br> [Group Sequence Policy Optimization (GSPO)](https://docs.agilerl.com/en/latest/api/algorithms/gspo.html) <br> [LLM Proximal Policy Optimization (LLM PPO)](https://docs.agilerl.com/en/latest/api/algorithms/llmppo.html) <br> [LLM REINFORCE](https://docs.agilerl.com/en/latest/api/algorithms/llmreinforce.html) |
184
+ | [Preference Optimization](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Direct Preference Optimization (DPO)](https://docs.agilerl.com/en/latest/api/algorithms/dpo.html) |
185
+ | [Supervised Fine-Tuning](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Supervised Fine-Tuning (SFT)](https://docs.agilerl.com/en/latest/api/algorithms/sft.html) |
186
186
 
187
187
 
188
188
  ## Train an Agent to Beat a Gym Environment
@@ -95,7 +95,7 @@ We are constantly updating our tutorials to showcase the latest features of Agil
95
95
  | [Hierarchical curriculum learning](https://docs.agilerl.com/en/latest/tutorials/skills/index.html) | Shows how to teach agents Skills and combine them to achieve an end goal. | [PPO - Lunar Lander](https://docs.agilerl.com/en/latest/tutorials/skills/index.html) |
96
96
  | [Contextual multi-arm bandits](https://docs.agilerl.com/en/latest/tutorials/bandits/index.html) | Learn to make the correct decision in environments that only have one timestep. | [NeuralUCB - Iris Dataset](https://docs.agilerl.com/en/latest/tutorials/bandits/agilerl_neural_ucb_tutorial.html) <br> [NeuralTS - PenDigits](https://docs.agilerl.com/en/latest/tutorials/bandits/agilerl_neural_ts_tutorial.html) |
97
97
  | [Custom Modules & Networks](https://docs.agilerl.com/en/latest/tutorials/custom_networks/index.html) | Learn how to create custom evolvable modules and networks for RL algorithms. | [Dueling Distributional Q Network](https://docs.agilerl.com/en/latest/tutorials/custom_networks/agilerl_rainbow_tutorial.html) <br> [EvolvableSimBa](https://docs.agilerl.com/en/latest/tutorials/custom_networks/agilerl_simba_tutorial.html) |
98
- | [LLM Finetuning](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) | Learn how to finetune an LLM using AgileRL. | [GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) |
98
+ | [LLM Finetuning](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/index.html) | Learn how to finetune an LLM using AgileRL. | [GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/grpo_finetuning.html) <br> [GRPO with HPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/grpo_hpo.html) <br> [SFT & DPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/sft_dpo_finetuning.html) <br> [Multi-turn LLMPPO, LLMREINFORCE & GRPO](https://docs.agilerl.com/en/latest/tutorials/llm_finetuning/multiturn_grpo_ppo.html) |
99
99
 
100
100
  ## Evolvable algorithms (more coming soon!)
101
101
 
@@ -121,10 +121,11 @@ We are constantly updating our tutorials to showcase the latest features of Agil
121
121
 
122
122
  ### LLM Fine-tuning Algorithms
123
123
 
124
- | RL | Algorithm |
125
- | ---------- | --------- |
126
- | [On-Policy](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Group Relative Policy Optimization (GRPO)](https://docs.agilerl.com/en/latest/api/algorithms/grpo.html)
127
- | [Off-Policy](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Direct Preference Optimization (DPO)](https://docs.agilerl.com/en/latest/api/algorithms/dpo.html)
124
+ | Type | Algorithm |
125
+ | ------------ | --------- |
126
+ | [On-Policy RL](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Group Relative Policy Optimization (GRPO)](https://docs.agilerl.com/en/latest/api/algorithms/grpo.html) <br> [Clipped IS-weight Policy Optimization (CISPO)](https://docs.agilerl.com/en/latest/api/algorithms/cispo.html) <br> [Group Sequence Policy Optimization (GSPO)](https://docs.agilerl.com/en/latest/api/algorithms/gspo.html) <br> [LLM Proximal Policy Optimization (LLM PPO)](https://docs.agilerl.com/en/latest/api/algorithms/llmppo.html) <br> [LLM REINFORCE](https://docs.agilerl.com/en/latest/api/algorithms/llmreinforce.html) |
127
+ | [Preference Optimization](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Direct Preference Optimization (DPO)](https://docs.agilerl.com/en/latest/api/algorithms/dpo.html) |
128
+ | [Supervised Fine-Tuning](https://docs.agilerl.com/en/latest/llm_finetuning/index.html) | [Supervised Fine-Tuning (SFT)](https://docs.agilerl.com/en/latest/api/algorithms/sft.html) |
128
129
 
129
130
 
130
131
  ## Train an Agent to Beat a Gym Environment
@@ -16,19 +16,6 @@ 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
-
32
19
  LLM_PACKAGES = get_extra_dependencies("agilerl", "llm")
33
20
 
34
21
 
@@ -40,7 +27,7 @@ def _is_distribution_installed(distribution: str) -> bool:
40
27
  return True
41
28
 
42
29
 
43
- # Use these flags for laxzy import checks
30
+ # Use these flags for lazy import checks
44
31
  HAS_LLM_DEPENDENCIES = all(_is_distribution_installed(pkg) for pkg in LLM_PACKAGES)
45
32
  HAS_LIGER_KERNEL = _is_distribution_installed("liger-kernel")
46
33
  HAS_VLLM = _is_distribution_installed("vllm")
@@ -2,25 +2,19 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from functools import partial
6
5
  from typing import Any
7
6
 
8
- from agilerl.algorithms.grpo import GRPO, _signatures_without_loss_type
7
+ from agilerl.algorithms.grpo import GRPO
8
+ from agilerl.utils.algo_utils import inherit_init_signature
9
9
 
10
10
 
11
+ @inherit_init_signature(GRPO, fixed={"loss_type"})
11
12
  class CISPO(GRPO):
12
13
  """CISPO loss variant of :class:`agilerl.algorithms.grpo.GRPO`
13
14
 
14
15
  Paper: https://arxiv.org/abs/2506.13585
15
16
  """
16
17
 
17
- _init_with_cispo = partial(GRPO.__init__, loss_type="cispo")
18
-
19
18
  def __init__(self, *args: Any, **kwargs: Any) -> None:
20
19
  """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
20
+ super().__init__(*args, loss_type="cispo", **kwargs)
@@ -1,7 +1,14 @@
1
- from .base import EvolvableAlgorithm, LLMAlgorithm, MultiAgentRLAlgorithm, RLAlgorithm
1
+ from .base import (
2
+ ActionResult,
3
+ EvolvableAlgorithm,
4
+ LLMAlgorithm,
5
+ MultiAgentRLAlgorithm,
6
+ RLAlgorithm,
7
+ )
2
8
  from .optimizer_wrapper import OptimizerWrapper
3
9
 
4
10
  __all__ = [
11
+ "ActionResult",
5
12
  "EvolvableAlgorithm",
6
13
  "LLMAlgorithm",
7
14
  "MultiAgentRLAlgorithm",