pub trait DistributedEstimator: Send + Sync {
type TrainingData;
type PredictionInput;
type PredictionOutput;
type Parameters: Serialize + for<'de> Deserialize<'de>;
// Required methods
fn fit_distributed<'a>(
&'a mut self,
cluster: &'a dyn DistributedCluster,
training_data: &Self::TrainingData,
) -> BoxFuture<'a, Result<()>>;
fn predict_distributed<'a>(
&'a self,
cluster: &dyn DistributedCluster,
input: &'a Self::PredictionInput,
) -> BoxFuture<'a, Result<Self::PredictionOutput>>;
fn get_parameters(&self) -> Result<Self::Parameters>;
fn set_parameters(&mut self, params: Self::Parameters) -> Result<()>;
fn sync_parameters(
&mut self,
cluster: &dyn DistributedCluster,
) -> BoxFuture<'_, Result<()>>;
fn training_progress(&self) -> DistributedTrainingProgress;
}Expand description
Core trait for distributed machine learning estimators
Required Associated Types§
Sourcetype TrainingData
type TrainingData
Associated type for training data
Sourcetype PredictionInput
type PredictionInput
Associated type for prediction input
Sourcetype PredictionOutput
type PredictionOutput
Associated type for prediction output
Sourcetype Parameters: Serialize + for<'de> Deserialize<'de>
type Parameters: Serialize + for<'de> Deserialize<'de>
Associated type for model parameters
Required Methods§
Sourcefn fit_distributed<'a>(
&'a mut self,
cluster: &'a dyn DistributedCluster,
training_data: &Self::TrainingData,
) -> BoxFuture<'a, Result<()>>
fn fit_distributed<'a>( &'a mut self, cluster: &'a dyn DistributedCluster, training_data: &Self::TrainingData, ) -> BoxFuture<'a, Result<()>>
Fit the model using distributed training
Sourcefn predict_distributed<'a>(
&'a self,
cluster: &dyn DistributedCluster,
input: &'a Self::PredictionInput,
) -> BoxFuture<'a, Result<Self::PredictionOutput>>
fn predict_distributed<'a>( &'a self, cluster: &dyn DistributedCluster, input: &'a Self::PredictionInput, ) -> BoxFuture<'a, Result<Self::PredictionOutput>>
Make predictions using the distributed model
Sourcefn get_parameters(&self) -> Result<Self::Parameters>
fn get_parameters(&self) -> Result<Self::Parameters>
Get current model parameters
Sourcefn set_parameters(&mut self, params: Self::Parameters) -> Result<()>
fn set_parameters(&mut self, params: Self::Parameters) -> Result<()>
Set model parameters
Sourcefn sync_parameters(
&mut self,
cluster: &dyn DistributedCluster,
) -> BoxFuture<'_, Result<()>>
fn sync_parameters( &mut self, cluster: &dyn DistributedCluster, ) -> BoxFuture<'_, Result<()>>
Synchronize parameters across cluster nodes
Sourcefn training_progress(&self) -> DistributedTrainingProgress
fn training_progress(&self) -> DistributedTrainingProgress
Get training progress information