pub trait StreamingObjective {
// Required methods
fn evaluate(
&self,
parameters: &ArrayView1<'_, f64>,
datapoint: &StreamingDataPoint,
) -> f64;
fn gradient(
&self,
parameters: &ArrayView1<'_, f64>,
datapoint: &StreamingDataPoint,
) -> Array1<f64>;
// Provided method
fn hessian(
self_parameters: &ArrayView1<'_, f64>,
_datapoint: &StreamingDataPoint,
) -> Option<Array2<f64>> { ... }
}
Expand description
Trait for objective functions in streaming optimization
Required Methods§
Sourcefn evaluate(
&self,
parameters: &ArrayView1<'_, f64>,
datapoint: &StreamingDataPoint,
) -> f64
fn evaluate( &self, parameters: &ArrayView1<'_, f64>, datapoint: &StreamingDataPoint, ) -> f64
Evaluate the objective function for a single data point
Sourcefn gradient(
&self,
parameters: &ArrayView1<'_, f64>,
datapoint: &StreamingDataPoint,
) -> Array1<f64>
fn gradient( &self, parameters: &ArrayView1<'_, f64>, datapoint: &StreamingDataPoint, ) -> Array1<f64>
Compute the gradient for a single data point
Provided Methods§
Sourcefn hessian(
self_parameters: &ArrayView1<'_, f64>,
_datapoint: &StreamingDataPoint,
) -> Option<Array2<f64>>
fn hessian( self_parameters: &ArrayView1<'_, f64>, _datapoint: &StreamingDataPoint, ) -> Option<Array2<f64>>
Compute the Hessian for a single data point (optional)
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.