Compatibility¶
Which module runs on which agent, as the agent is built. Generated by tests/agents/test_compatibility.py; do not edit by hand.
yes: supported. no: the algorithm lacks what the module needs (listed below). not yet: the agent has it, and its code does not pass it on yet.
| Module | SAC | TD3 | REDQ | ASAC | AVG | CrossQ | TQC | IQL | APG | TDMPC2 | PPO | PPO/discrete | APO | APO/discrete | UDRL | UDRL/discrete | DAgger | DAgger/discrete | DreamerV3 | DreamerV3/discrete | DQN | PQN | TDMPC2MultiTask |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AdversarialReward |
not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | yes | no | not yet | no | not yet | no | not yet | no | not yet | no | no | no | not yet |
BellmanPretrain |
yes | not yet | not yet | not yet | no | not yet | not yet | not yet | no | not yet | no | no | no | no | no | no | no | no | not yet | not yet | not yet | no | not yet |
BiasVoreDecomposition |
yes | yes | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes | no | no | no | no | yes | yes | yes | yes | yes |
BiasVorePenalty |
yes | yes | yes | yes | yes | yes | no | yes | no | not yet | yes | yes | yes | yes | no | no | no | no | not yet | not yet | yes | yes | not yet |
CalQL |
yes | no | yes | no | no | yes | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
CloningPretrain |
yes | yes | yes | yes | yes | yes | yes | yes | not yet | not yet | not yet | not yet | yes | not yet | not yet | not yet | yes | not yet | not yet | not yet | no | no | not yet |
ConditioningMetrics |
yes | yes | yes | yes | yes | yes | yes | yes | not yet | yes | yes | yes | yes | yes | not yet | not yet | not yet | not yet | yes | yes | yes | yes | yes |
ConservativeQ |
yes | no | yes | yes | yes | yes | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
CriticBlend |
yes | not yet | not yet | no | not yet | not yet | no | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | not yet | not yet | not yet |
EDGEExploration |
yes | not yet | not yet | not yet | not yet | not yet | not yet | not yet | no | not yet | no | no | no | no | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet |
ExpertValueMetrics |
yes | yes | yes | yes | no | yes | yes | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | not yet | no | not yet |
IBRL |
yes | yes | yes | no | no | no | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
ImitationLoss |
yes | yes | yes | yes | yes | yes | yes | yes | yes | not yet | yes | not yet | yes | not yet | yes | not yet | yes | not yet | not yet | not yet | no | no | not yet |
JSRLCurriculum |
yes | not yet | not yet | not yet | not yet | not yet | not yet | not yet | no | not yet | no | no | no | no | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet |
KernelRepulsion |
yes | yes | yes | yes | no | yes | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
LCBGatedBootstrap |
yes | yes | yes | no | no | no | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
MCPretrain |
yes | not yet | not yet | no | not yet | not yet | not yet | not yet | no | not yet | not yet | not yet | no | no | no | no | no | no | not yet | not yet | not yet | not yet | not yet |
MCVarianceCorrection |
yes | not yet | not yet | no | no | not yet | no | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
OnlineBC |
yes | not yet | not yet | no | not yet | not yet | not yet | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
PhiRefresh |
yes | not yet | not yet | no | no | not yet | not yet | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | not yet | no | not yet |
PriorData |
yes | yes | yes | yes | no | yes | yes | yes | no | not yet | no | no | no | no | not yet | not yet | not yet | not yet | not yet | not yet | yes | no | not yet |
ResidualPolicy |
yes | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | no | not yet | no | not yet | no | not yet | no | not yet | no | no | no | not yet |
TargetBC |
not yet | yes | not yet | no | not yet | not yet | not yet | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
ValueBox |
yes | not yet | not yet | no | not yet | not yet | not yet | not yet | no | not yet | no | no | no | no | no | no | no | no | no | no | not yet | not yet | not yet |
ImitationLoss(q_filter=True) |
yes | yes | yes | yes | yes | yes | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
ImitationLoss(target='replay', alpha=2.5) |
yes | yes | yes | yes | no | yes | yes | yes | no | not yet | no | no | no | no | no | no | no | no | no | no | no | no | not yet |
memory |
yes | yes | yes | yes | not yet | not yet | yes | not yet | yes | no | yes | yes | not yet | not yet | not yet | not yet | not yet | not yet | no | no | not yet | not yet | no |
cnn |
not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | yes | yes | not yet | not yet | not yet | not yet | not yet | not yet | not yet | not yet | yes | yes | not yet |
Refused: what the algorithm lacks¶
AdversarialRewardneeds continuous_actions: not on PPO/discrete, APO/discrete, UDRL/discrete, DAgger/discrete, DreamerV3/discrete, DQN, PQNBellmanPretrainneeds critic: not on UDRL, UDRL/discrete, DAgger, DAgger/discreteBellmanPretrainneeds critic, replay: not on APGBellmanPretrainneeds replay: not on AVG, PPO, PPO/discrete, APO, APO/discrete, PQNBiasVoreDecompositionneeds critic: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteBiasVorePenaltyneeds critic, scalar_target: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteBiasVorePenaltyneeds scalar_target: not on TQCCalQLneeds actor, continuous_actions, policy_density: not on DQNCalQLneeds actor, continuous_actions, policy_density, replay: not on PQNCalQLneeds continuous_actions, critic, discounted, policy_density, q_critic: not on DAgger/discreteCalQLneeds continuous_actions, critic, discounted, q_critic: not on UDRL/discreteCalQLneeds continuous_actions, discounted, q_critic, replay: not on APO/discreteCalQLneeds continuous_actions, q_critic: not on DreamerV3/discreteCalQLneeds continuous_actions, q_critic, replay: not on PPO/discreteCalQLneeds critic, discounted, policy_density, q_critic: not on DAggerCalQLneeds critic, discounted, policy_density, q_critic, replay: not on APGCalQLneeds critic, discounted, q_critic: not on UDRLCalQLneeds discounted: not on ASACCalQLneeds discounted, q_critic, replay: not on APOCalQLneeds policy_density: not on TD3CalQLneeds q_critic: not on DreamerV3CalQLneeds q_critic, replay: not on PPOCalQLneeds replay: not on AVGCloningPretrainneeds actor, continuous_actions: not on DQN, PQNConservativeQneeds actor, continuous_actions, policy_density: not on DQN, PQNConservativeQneeds continuous_actions, critic, policy_density, q_critic: not on DAgger/discreteConservativeQneeds continuous_actions, critic, q_critic: not on UDRL/discreteConservativeQneeds continuous_actions, q_critic: not on PPO/discrete, APO/discrete, DreamerV3/discreteConservativeQneeds critic, policy_density, q_critic: not on APG, DAggerConservativeQneeds critic, q_critic: not on UDRLConservativeQneeds policy_density: not on TD3ConservativeQneeds q_critic: not on PPO, APO, DreamerV3CriticBlendneeds critic, discounted, q_critic, scalar_target: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteCriticBlendneeds discounted: not on ASACCriticBlendneeds discounted, q_critic: not on APO, APO/discreteCriticBlendneeds q_critic: not on PPO, PPO/discrete, DreamerV3, DreamerV3/discreteCriticBlendneeds scalar_target: not on TQCEDGEExplorationneeds off_policy: not on APG, PPO, PPO/discrete, APO, APO/discreteExpertValueMetricsneeds q_critic: not on UDRL, UDRL/discrete, DAgger, DAgger/discrete, DreamerV3, DreamerV3/discreteExpertValueMetricsneeds q_critic, replay: not on APG, PPO, PPO/discrete, APO, APO/discreteExpertValueMetricsneeds replay: not on AVG, PQNIBRLneeds actor: not on DQNIBRLneeds actor, target_critic: not on PQNIBRLneeds critic, discounted, q_critic, target_critic: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteIBRLneeds discounted: not on ASACIBRLneeds discounted, q_critic, target_critic: not on APO, APO/discreteIBRLneeds q_critic, target_critic: not on PPO, PPO/discrete, DreamerV3, DreamerV3/discreteIBRLneeds target_critic: not on AVG, CrossQImitationLossneeds actor, continuous_actions: not on DQN, PQNImitationLoss(q_filter=True)needs actor, continuous_actions: not on DQN, PQNImitationLoss(q_filter=True)needs continuous_actions, q_critic: not on PPO/discrete, APO/discrete, UDRL/discrete, DAgger/discrete, DreamerV3/discreteImitationLoss(q_filter=True)needs q_critic: not on APG, PPO, APO, UDRL, DAgger, DreamerV3ImitationLoss(target='replay', alpha=2.5)needs actor, continuous_actions: not on DQNImitationLoss(target='replay', alpha=2.5)needs actor, continuous_actions, replay: not on PQNImitationLoss(target='replay', alpha=2.5)needs continuous_actions, q_critic: not on UDRL/discrete, DAgger/discrete, DreamerV3/discreteImitationLoss(target='replay', alpha=2.5)needs continuous_actions, q_critic, replay: not on PPO/discrete, APO/discreteImitationLoss(target='replay', alpha=2.5)needs q_critic: not on UDRL, DAgger, DreamerV3ImitationLoss(target='replay', alpha=2.5)needs q_critic, replay: not on APG, PPO, APOImitationLoss(target='replay', alpha=2.5)needs replay: not on AVGJSRLCurriculumneeds off_policy: not on APG, PPO, PPO/discrete, APO, APO/discreteKernelRepulsionneeds critic, critic_ensemble, q_critic: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteKernelRepulsionneeds critic_ensemble: not on AVG, DQN, PQNKernelRepulsionneeds critic_ensemble, q_critic: not on PPO, PPO/discrete, APO, APO/discrete, DreamerV3, DreamerV3/discreteLCBGatedBootstrapneeds actor, critic_ensemble: not on DQNLCBGatedBootstrapneeds actor, critic_ensemble, target_critic: not on PQNLCBGatedBootstrapneeds critic, critic_ensemble, discounted, q_critic, target_critic: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteLCBGatedBootstrapneeds critic_ensemble, discounted, q_critic, target_critic: not on APO, APO/discreteLCBGatedBootstrapneeds critic_ensemble, q_critic, target_critic: not on PPO, PPO/discrete, DreamerV3, DreamerV3/discreteLCBGatedBootstrapneeds critic_ensemble, target_critic: not on AVGLCBGatedBootstrapneeds discounted: not on ASACLCBGatedBootstrapneeds target_critic: not on CrossQMCPretrainneeds critic, discounted: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteMCPretrainneeds discounted: not on ASAC, APO, APO/discreteMCVarianceCorrectionneeds critic, critic_ensemble, discounted, q_critic, scalar_target: not on APG, UDRL, UDRL/discrete, DAgger, DAgger/discreteMCVarianceCorrectionneeds critic_ensemble: not on AVG, DQN, PQNMCVarianceCorrectionneeds critic_ensemble, discounted, q_critic: not on APO, APO/discreteMCVarianceCorrectionneeds critic_ensemble, q_critic: not on PPO, PPO/discrete, DreamerV3, DreamerV3/discreteMCVarianceCorrectionneeds discounted: not on ASACMCVarianceCorrectionneeds scalar_target: not on TQCOnlineBCneeds actor, continuous_actions: not on DQN, PQNOnlineBCneeds continuous_actions, critic, discounted, q_critic: not on UDRL/discrete, DAgger/discreteOnlineBCneeds continuous_actions, discounted, q_critic: not on APO/discreteOnlineBCneeds continuous_actions, q_critic: not on PPO/discrete, DreamerV3/discreteOnlineBCneeds critic, discounted, q_critic: not on APG, UDRL, DAggerOnlineBCneeds discounted: not on ASACOnlineBCneeds discounted, q_critic: not on APOOnlineBCneeds q_critic: not on PPO, DreamerV3PhiRefreshneeds critic, discounted, q_critic: not on UDRL, UDRL/discrete, DAgger, DAgger/discretePhiRefreshneeds critic, discounted, q_critic, replay: not on APGPhiRefreshneeds discounted: not on ASACPhiRefreshneeds discounted, q_critic, replay: not on APO, APO/discretePhiRefreshneeds q_critic: not on DreamerV3, DreamerV3/discretePhiRefreshneeds q_critic, replay: not on PPO, PPO/discretePhiRefreshneeds replay: not on AVG, PQNPriorDataneeds off_policy, replay: not on APG, PPO, PPO/discrete, APO, APO/discretePriorDataneeds replay: not on AVG, PQNResidualPolicyneeds continuous_actions: not on PPO/discrete, APO/discrete, UDRL/discrete, DAgger/discrete, DreamerV3/discrete, DQN, PQNTargetBCneeds actor, continuous_actions: not on DQN, PQNTargetBCneeds continuous_actions, critic, discounted, q_critic: not on UDRL/discrete, DAgger/discreteTargetBCneeds continuous_actions, discounted, q_critic: not on APO/discreteTargetBCneeds continuous_actions, q_critic: not on PPO/discrete, DreamerV3/discreteTargetBCneeds critic, discounted, q_critic: not on APG, UDRL, DAggerTargetBCneeds discounted: not on ASACTargetBCneeds discounted, q_critic: not on APOTargetBCneeds q_critic: not on PPO, DreamerV3ValueBoxneeds critic, discounted, off_policy, q_critic: not on APGValueBoxneeds critic, discounted, q_critic: not on UDRL, UDRL/discrete, DAgger, DAgger/discreteValueBoxneeds discounted: not on ASACValueBoxneeds discounted, off_policy, q_critic: not on APO, APO/discreteValueBoxneeds off_policy, q_critic: not on PPO, PPO/discreteValueBoxneeds q_critic: not on DreamerV3, DreamerV3/discretememoryneeds obs_networks: not on TDMPC2, DreamerV3, DreamerV3/discrete, TDMPC2MultiTask
Not yet wired¶
- only SAC folds action and transform_action (batch module-reach):
EDGEExplorationon TD3 REDQ TQC CrossQ ASAC AVG UDRL UDRL/discrete DAgger DAgger/discrete DQN PQN IQL;JSRLCurriculumon TD3 REDQ TQC CrossQ ASAC AVG UDRL UDRL/discrete DAgger DAgger/discrete DQN PQN IQL;ResidualPolicyon TD3 REDQ TQC CrossQ ASAC AVG APG PPO APO UDRL DAgger IQL;ValueBoxon TD3 REDQ TQC CrossQ AVG DQN PQN IQL - MCPretrain binds only on SAC (batch module-reach):
CriticBlendon TD3 REDQ CrossQ AVG DQN PQN IQL;MCPretrainon TD3 REDQ TQC CrossQ AVG PPO PPO/discrete DQN PQN IQL;MCVarianceCorrectionon TD3 REDQ CrossQ IQL;OnlineBCon TD3 REDQ TQC CrossQ AVG IQL;PhiRefreshon TD3 REDQ TQC CrossQ DQN IQL - the agent binds no context for it yet:
BellmanPretrainon TD3 REDQ TQC CrossQ ASAC;CloningPretrainon APG PPO UDRL - the agent takes no expert_policy yet (expert reach):
BellmanPretrainon DQN IQL;ExpertValueMetricson DQN IQL - no form for this agent yet (cross-entropy for discrete actors; a policy's encoder):
CloningPretrainon PPO/discrete APO/discrete UDRL/discrete DAgger/discrete DreamerV3/discrete;ImitationLosson PPO/discrete APO/discrete UDRL/discrete DAgger/discrete DreamerV3/discrete;ConditioningMetricson APG UDRL UDRL/discrete DAgger DAgger/discrete - world models fold no loss phase for extensions and build their own encoders:
CriticBlendon TDMPC2 TDMPC2MultiTask;IBRLon TDMPC2 TDMPC2MultiTask;KernelRepulsionon TDMPC2 TDMPC2MultiTask;LCBGatedBootstrapon TDMPC2 TDMPC2MultiTask;MCVarianceCorrectionon TDMPC2 TDMPC2MultiTask;OnlineBCon TDMPC2 TDMPC2MultiTask;PhiRefreshon TDMPC2 TDMPC2MultiTask;ValueBoxon TDMPC2 TDMPC2MultiTask;ExpertValueMetricson TDMPC2 TDMPC2MultiTask;ImitationLoss(q_filter=True)on TDMPC2 TDMPC2MultiTask;ImitationLoss(target='replay', alpha=2.5)on TDMPC2 TDMPC2MultiTask;ConservativeQon TDMPC2 TDMPC2MultiTask;CalQLon TDMPC2 TDMPC2MultiTask;TargetBCon TDMPC2 TDMPC2MultiTask;EDGEExplorationon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;JSRLCurriculumon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;MCPretrainon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;BellmanPretrainon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;BiasVorePenaltyon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;cnnon TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask;CloningPretrainon TDMPC2 DreamerV3 TDMPC2MultiTask;ImitationLosson TDMPC2 DreamerV3 TDMPC2MultiTask;ResidualPolicyon TDMPC2 DreamerV3 TDMPC2MultiTask - the cnn options are not on this agent yet (batch network-reach):
cnnon SAC TD3 REDQ TQC CrossQ ASAC AVG APG APO APO/discrete UDRL UDRL/discrete DAgger DAgger/discrete IQL - memory is not wired on this agent yet (batch network-reach):
memoryon APO APO/discrete DQN PQN DAgger DAgger/discrete IQL - memory on this agent has no published form (deferred):
memoryon AVG CrossQ UDRL UDRL/discrete - only TD3 hands on_target the next actions its target scored (ReBRAC's TargetBC):
TargetBCon SAC REDQ TQC CrossQ AVG IQL - only PPO folds the reward phase (GAIL's AdversarialReward):
AdversarialRewardon SAC TD3 REDQ TQC CrossQ ASAC AVG APG APO UDRL DAgger IQL DreamerV3 TDMPC2 TDMPC2MultiTask - the agent's own replay is not handed to its pretraining yet:
PriorDataon UDRL UDRL/discrete DAgger DAgger/discrete TDMPC2 DreamerV3 DreamerV3/discrete TDMPC2MultiTask