Health index models#

BaseHealthIndexEstimation#

class ice.health_index_estimation.models.base.BaseHealthIndexEstimation(window_size: int, stride: int, batch_size: int, lr: float, num_epochs: int, device: str, verbose: bool, name: str, random_seed: int, val_ratio: float, save_checkpoints: bool)[source]#

Bases: BaseModel, ABC

Base class for all HI diagnosis models.

Parameters:
  • window_size (int) – The window size to train the model.

  • stride (int) – The time interval between first points of consecutive sliding windows in training.

  • batch_size (int) – The batch size to train the model.

  • lr (float) – The larning rate to train the model.

  • num_epochs (float) – The number of epochs to train the model.

  • device (str) – The name of a device to train the model. cpu and cuda are possible.

  • verbose (bool) – If true, show the progress bar in training.

  • name (str) – The name of the model for artifact storing.

  • random_seed (int) – Seed for random number generation to ensure reproducible results.

  • val_ratio (float) – Proportion of the dataset used for validation, between 0 and 1.

  • save_checkpoints (bool) – If true, store checkpoints.

MLP#

class ice.health_index_estimation.models.mlp.MLP(window_size: int = 1024, stride: int = 300, hidden_dim: int = 256, batch_size: int = 64, lr: float = 5e-05, num_epochs: int = 50, device: str = 'cpu', verbose: bool = True, name: str = 'mlp_fault_diagnosis', random_seed: int = 42, val_ratio: float = 0.15, save_checkpoints: bool = False)[source]#

Bases: BaseHealthIndexEstimation

Multilayer Perceptron (MLP) consists of input, hidden, output layers and ReLU activation. Each sample is reshaped to a vector (B, L, C) -> (B, L * C) where B is the batch size, L is the sequence length, C is the number of sensors.

Parameters:
  • window_size (int) – The window size to train the model.

  • stride (int) – The time interval between first points of consecutive sliding windows.

  • hidden_dim (int) – The dimensionality of the hidden layer in MLP.

  • batch_size (int) – The batch size to train the model.

  • lr (float) – The larning rate to train the model.

  • num_epochs (float) – The number of epochs to train the model.

  • device (str) – The name of a device to train the model. cpu and cuda are possible.

  • verbose (bool) – If true, show the progress bar in training.

  • name (str) – The name of the model for artifact storing.

  • random_seed (int) – Seed for random number generation to ensure reproducible results.

  • val_ratio (float) – Proportion of the dataset used for validation, between 0 and 1.

  • save_checkpoints (bool) – If true, store checkpoints.

IE_SBiGRU#

class ice.health_index_estimation.models.IE_SBiGRU.IE_SBiGRU(window_size: int = 1024, num_layers: int = 3, hidden_dim: int = 128, ff_dim: int = 256, stride: int = 300, batch_size: int = 64, lr: float = 0.0031789041005068647, num_epochs: int = 55, device: str = 'cpu', verbose: bool = True, name: str = 'IE_SBiGRU_hi_estimation', random_seed: int = 42, val_ratio: float = 0.15, save_checkpoints: bool = False)[source]#

Bases: BaseHealthIndexEstimation

Wear condition monitoring model from https://doi.org/10.1016/j.rcim.2022.102368 SOTA paper

Parameters:
  • window_size (int) – The window size to train the model.

  • stride (int) – The time interval between first points of consecutive sliding windows.

  • num_layers (int) – The amount of BiGRU layers in the model.

  • hidden_dim (int) – The regression head hidden linear layer size.

  • ff_dim (int) – The CNN projection dim in feedforward module of Informer encoder.

  • batch_size (int) – The batch size to train the model.

  • lr (float) – The larning rate to train the model.

  • num_epochs (float) – The number of epochs to train the model.

  • device (str) – The name of a device to train the model. cpu and cuda are possible.

  • verbose (bool) – If true, show the progress bar in training.

  • name (str) – The name of the model for artifact storing.

  • random_seed (int) – Seed for random number generation to ensure reproducible results.

  • val_ratio (float) – Proportion of the dataset used for validation, between 0 and 1.

  • save_checkpoints (bool) – If true, store checkpoints.

Stacked_LSTM#

class ice.health_index_estimation.models.Stacked_LSTM.Stacked_LSTM(window_size: int = 1024, stride: int = 300, batch_size: int = 64, lr: float = 5e-05, num_epochs: int = 50, device: str = 'cpu', verbose: bool = True, name: str = 'HI_stacked_LSTM', random_seed: int = 42, val_ratio: float = 0.15, save_checkpoints: bool = False, num_layers: int = 2, dropout_value: float = 0.2)[source]#

Bases: BaseHealthIndexEstimation

Wear condition monitoring module from https://doi.org/10.1016/j.jmsy.2021.12.002

Parameters:
  • window_size (int) – The window size to train the model.

  • stride (int) – The time interval between first points of consecutive sliding windows.

  • hidden_dim (int) – The dimensionality of the hidden layer in MLP.

  • batch_size (int) – The batch size to train the model.

  • lr (float) – The larning rate to train the model.

  • num_epochs (float) – The number of epochs to train the model.

  • device (str) – The name of a device to train the model. cpu and cuda are possible.

  • verbose (bool) – If true, show the progress bar in training.

  • name (str) – The name of the model for artifact storing.

  • random_seed (int) – Seed for random number generation to ensure reproducible results.

  • val_ratio (float) – Proportion of the dataset used for validation, between 0 and 1.

  • save_checkpoints (bool) – If true, store checkpoints.

TCM#

class ice.health_index_estimation.models.TCM.TCM(window_size: int = 64, stride: int = 300, batch_size: int = 64, lr: float = 5e-05, num_epochs: int = 50, device: str = 'cpu', verbose: bool = True, name: str = 'TCM_hi_estimation', random_seed: int = 42, val_ratio: float = 0.15, save_checkpoints: bool = False, lstm_hidden_size: int = 8, lstm_num_layers: int = 2)[source]#

Bases: BaseHealthIndexEstimation

Wear condition monitoring module from https://doi.org/10.1016/j.jmsy.2021.12.002

Parameters:
  • window_size (int) – The window size to train the model.

  • stride (int) – The time interval between first points of consecutive sliding windows.

  • batch_size (int) – The batch size to train the model.

  • lr (float) – The larning rate to train the model.

  • num_epochs (float) – The number of epochs to train the model.

  • device (str) – The name of a device to train the model. cpu and cuda are possible.

  • verbose (bool) – If true, show the progress bar in training.

  • name (str) – The name of the model for artifact storing.

  • random_seed (int) – Seed for random number generation to ensure reproducible results.

  • val_ratio (float) – Proportion of the dataset used for validation, between 0 and 1.

  • save_checkpoints (bool) – If true, store checkpoints.