border_core/evaluator.rs
1//! Evaluate [`Policy`].
2use crate::{Env, Policy};
3use anyhow::Result;
4mod default_evaluator;
5pub use default_evaluator::DefaultEvaluator;
6
7/// Evaluate [`Policy`].
8pub trait Evaluator<E: Env, P: Policy<E>> {
9 /// Evaluate [`Policy`].
10 ///
11 /// The caller of this method needs to handle the internal state of `policy`,
12 /// like training/evaluation mode.
13 fn evaluate(&mut self, policy: &mut P) -> Result<f32>;
14}