Model Modules

TreNet

class models.TreNet.TreNet(LSTM_params, CNN_params, feature_fusion, output_dim, device=None)

Initializes a TreNet model for time series trend duration and slope prediction.

Parameters:
  • LSTM_params (dict) – Dictionary containing parameters for LSTM model, see LSTM for LSTM parameters

  • CNN_params (dict) – Dictionary containing parameters for CNN model, see TreNetCNN for CNN parameters

  • feature_fusion (int) – Size of feature fusion layer

  • output_dim (int) – Size of model output

  • device (Torch device) – Device to store model on

Returns:

None

forward(x)

Perform one forward pass of the TreNet model

Parameters:

x (list[tensor]) – Time series trend data containing trend duration, slopes, and time series data to pass through TreNet

Returns:

Tensor containing outputs of all input data

LSTM

class models.LSTM.LSTM(input_dim, hidden_dim, num_layers, output_dim, device=None)

Initializes an LSTM model for time series forecast prediction.

Parameters:
  • input_dim (int) – Number of input dimensions

  • hidden_dim (int) – Size of hidden layer

  • num_layers (int) – Number of layers in the LSTM model

  • output_dim (int) – Size of output layer

  • device (Torch device) – Device to store model on

Returns:

None

forward(x)

Perform one forward pass of the LSTM model

Parameters:

x (tensor) – Time series data

Returns:

Tensor containing outputs of all input data

GRU

class models.GRU.GRU(input_dim, hidden_dim, num_layers, output_dim, device=None)

Initializes a GRU model for time series forecast prediction.

Parameters:
  • input_dim (int) – Number of input dimensions

  • hidden_dim (int) – Size of hidden layer

  • num_layers (int) – Number of layers in the LSTM model

  • output_dim (int) – Size of output layer

  • device (Torch device) – Device to store model on

Returns:

None

forward(x)

Perform one forward pass of the GRU model

Parameters:

x (tensor) – Time series data

Returns:

Tensor containing outputs of all input data

CNN

class models.CNN.TreNetCNN(num_data, layers=None, num_filters=None, dropout=None, conv_size=3, pooling_size=3, output_size=2, device=None)

Initializes CNN model for time series forecast prediction based on the CNN stack in TreNet.

Parameters:
  • num_data (int) – Size of CNN input

  • layers (int) – Number of CNN stack layers

  • num_filters (list[int]) – Number of filters per layer

  • dropout (list[float]) – Probability of dropout per layer

  • conv_size (int or list[int]) – Size of filter sizes per layer

  • pooling_size (int) – Size of pooling filter

  • output_size (int) – Size of output

  • device (Torch device) – Device to store model on

Returns:

None

create_cnn_stack()

Creates a CNN stack based on the TreNet CNN implementation. Each stack consists of a 1-dimensional convolution layer, a ReLu activation function, a max pooling layer, and a dropout layer.

Returns:

CNN stack based on the model parameters

forward(x)

Performs one forward pass of the CNN model

Parameters:

x (tensor) – Time series data

Returns:

Tensor containing outputs of all input data