Source code for protomotions.agents.peft.prior_amp_agent
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""Discrete-prior PEFT RLFT agent with AMP discriminator rewards."""
from pathlib import Path
from typing import Optional
from lightning.fabric import Fabric
from protomotions.agents.amp.component import AMPAgentMixin
from protomotions.agents.peft.prior_agent import DiscretePriorPEFTRLFTAgent
[docs]
class DiscretePriorPEFTRLFTAMPAgent(AMPAgentMixin, DiscretePriorPEFTRLFTAgent):
"""Discrete-prior PEFT RLFT with AMP-style reward shaping."""
[docs]
def __init__(self, fabric: Fabric, env, config, root_dir: Optional[Path] = None):
if config.model.critic is None:
raise ValueError(
"DiscretePriorPEFTRLFTAMPAgent requires config.model.critic."
)
super().__init__(fabric, env, config, root_dir=root_dir)
def _load_parameters_without_amp_component(
self,
state_dict,
load_training_state: bool = True,
):
DiscretePriorPEFTRLFTAgent.load_parameters(
self,
state_dict,
load_training_state=load_training_state,
)