protomotions.agents.evaluators.base_evaluator module¶
Base evaluator for agent evaluation and metrics computation.
This module provides the base evaluation infrastructure for computing performance metrics during training and evaluation. Evaluators run periodic assessments of agent performance and compute task-specific metrics.
- Key Classes:
BaseEvaluator: Base class for all evaluators
SmoothnessMetricPlugin: Plugin for computing motion smoothness metrics
- Key Features:
Periodic evaluation during training
Motion quality metrics computation
Episode statistics aggregation
Smoothness and jerk analysis
Distributed evaluation support
- class protomotions.agents.evaluators.base_evaluator.SmoothnessMetricPlugin(evaluator, window_sec=0.4, high_jerk_threshold=6500.0)[source]¶
Bases:
objectPlugin for computing smoothness metrics from motion data.
- class protomotions.agents.evaluators.base_evaluator.BaseEvaluator(agent, fabric, config)[source]¶
Bases:
objectBase class for agent evaluation and metrics computation.
Runs periodic evaluations during training to assess agent performance. Collects episode statistics, computes task-specific metrics, and provides feedback for checkpoint selection (best model saving).
- Parameters:
agent (Any) – The agent being evaluated.
fabric (MockFabric) – Lightning Fabric instance for distributed evaluation.
config (EvaluatorConfig) – Evaluator configuration specifying eval frequency and length.
Example
>>> evaluator = BaseEvaluator(agent, fabric, config) >>> metrics, score = evaluator.evaluate()
- __init__(agent, fabric, config)[source]¶
Initialize the evaluator.
- Parameters:
agent (Any) – The agent to evaluate
fabric (MockFabric) – Lightning Fabric instance for distributed training
- property device: <Mock object at 0x7343244db110>[]¶
Device for computations (from fabric).
- property env: BaseEnv¶
Environment instance (from agent).
- property root_dir¶
Root directory for saving outputs (from agent).
- initialize_eval()[source]¶
Initialize metrics dictionary with required keys. Prepare the evaluation context.
- run_evaluation(metrics)[source]¶
Run the evaluation process and collect metrics.
- Parameters:
metrics (Dict) – Dictionary to collect evaluation metrics