Source code for romtools.workflows.model_builders

'''
Protocol for building a model
This is mainly used for constructing data-driven models in
iterative workflows like greedy
'''

from typing import Protocol, List
import numpy as np
from romtools.workflows.models import Model, QoiModel, QoiModelWithErrorEstimate

[docs] class ModelBuilder(Protocol): ''' Main protocol for a ModelBuilder. Methods: ''' def __init__(self): pass def build_from_training_dirs(self,offline_data_dir: str, training_data_dirs: List[str]) -> Model: pass
[docs] class QoiModelBuilder(Protocol): ''' Main protocol for a QoiModelBuilder. Methods: ''' def __init__(self): pass def build_from_training_dirs(self,offline_data_dir: str, training_data_dirs: List[str]) -> QoiModel: pass
[docs] class QoiModelBuilderWithTrainingData(Protocol): ''' Main protocol for a QoiModelBuilder that accepts training data directly. Methods: ''' def __init__(self): pass def build_from_training_dirs(self, offline_data_dir: str, training_data_dirs: List[str], training_parameters: np.ndarray, training_qois: np.ndarray) -> QoiModel: pass
[docs] class QoiModelWithErrorEstimateBuilder(Protocol): ''' Main protocol for a QoiModelWithErrorEstimateBuilder. Methods: ''' def __init__(self): pass def build_from_training_dirs(self,offline_data_dir: str, training_data_dirs: List[str]) -> QoiModelWithErrorEstimate: return QoiModelWithErrorEstimate