pub struct DefaultEvaluator<E: Env> { /* private fields */ }
Expand description
A default implementation of the Evaluator
trait.
This evaluator runs a specified number of episodes and calculates the average return (cumulative reward) across all episodes. It is useful for:
- Evaluating the performance of trained agents
- Comparing different policies or algorithms
- Monitoring training progress
§Type Parameters
E
- The environment type
§Examples
ⓘ
let config = EnvConfig::default();
let mut evaluator = DefaultEvaluator::new(&config, 42, 10)?;
// Evaluate a policy
let record = evaluator.evaluate(&mut agent)?;
println!("Average return: {}", record.get_scalar("Episode return")?);
Implementations§
Source§impl<E: Env> DefaultEvaluator<E>
impl<E: Env> DefaultEvaluator<E>
Sourcepub fn new(config: &E::Config, seed: i64, n_episodes: usize) -> Result<Self>
pub fn new(config: &E::Config, seed: i64, n_episodes: usize) -> Result<Self>
Constructs a new DefaultEvaluator
.
§Arguments
config
- Configuration for the environmentseed
- Random seed for environment initializationn_episodes
- Number of episodes to run during evaluation
§Returns
A new evaluator instance
§Examples
ⓘ
let config = EnvConfig::default();
let evaluator = DefaultEvaluator::new(&config, 42, 10)?;
Trait Implementations§
Source§impl<E: Env> Evaluator<E> for DefaultEvaluator<E>
impl<E: Env> Evaluator<E> for DefaultEvaluator<E>
Source§fn evaluate<R>(
&mut self,
policy: &mut Box<dyn Agent<E, R>>,
) -> Result<(f32, Record)>where
R: ReplayBufferBase,
fn evaluate<R>(
&mut self,
policy: &mut Box<dyn Agent<E, R>>,
) -> Result<(f32, Record)>where
R: ReplayBufferBase,
Evaluates a policy by running multiple episodes and calculating the average return.
This method:
- Runs the specified number of episodes
- For each episode:
- Resets the environment with a unique index
- Runs the episode until termination
- Accumulates the total reward
- Returns the average return across all episodes
§Arguments
policy
- The policy to evaluate
§Returns
A tuple of (performance metric, Record
containing the evaluation results)
§Errors
Returns an error if:
- The environment fails to reset
- The environment fails to step
Auto Trait Implementations§
impl<E> Freeze for DefaultEvaluator<E>where
E: Freeze,
impl<E> RefUnwindSafe for DefaultEvaluator<E>where
E: RefUnwindSafe,
impl<E> Send for DefaultEvaluator<E>where
E: Send,
impl<E> Sync for DefaultEvaluator<E>where
E: Sync,
impl<E> Unpin for DefaultEvaluator<E>where
E: Unpin,
impl<E> UnwindSafe for DefaultEvaluator<E>where
E: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more