Skip to content

FCNRegressorTorch

FCNRegressorTorch

class FCNRegressorTorch(filter_sizes: tuple = (128, 256, 128), kernel_sizes: tuple = (8, 5, 3), activation_hidden='relu', activation: str | None | Callable = None, init_weights: str | None = 'kaiming_uniform', num_epochs: int = 2000, batch_size: int = 16, optimizer: str | None | Callable = 'Adam', optimizer_kwargs: dict | None = None, criterion: str | None | Callable = 'MSELoss', criterion_kwargs: dict | None = None, callbacks: None | str | tuple[str, ...] = 'ReduceLROnPlateau', callback_kwargs: dict | None = None, lr: float = 0.01, verbose: bool = False, random_state: int = 0)[source]

Fully Convolutional Network (FCN) in PyTorch for time series regression.

Adapted from the TensorFlow FCN implementation in sktime.

Parameters:
filter_sizestuple of int, default = (128, 256, 128)

Number of filters for each convolutional layer. The number of convolutional layers is inferred from the length of this tuple.

kernel_sizestuple of int, default = (8, 5, 3)

Kernel size for each convolutional layer. Must have the same length as filter_sizes.

activation_hiddenstr or None or an instance of activation functions defined in

torch.nn, default = “relu” Activation function applied after each BatchNorm layer in the convolutional blocks. If str, supported values are "relu", "tanh", "sigmoid". If not str, must be an instantiated torch.nn.Module activation. If None, no activation is applied (identity).

activationstr or None or an instance of activation functions defined in

torch.nn, default = None Activation function used in the fully connected output layer.

init_weightsstr or None, default = “kaiming_uniform”

The method to initialize the weights of the convolutional layers. Supported values: "kaiming_uniform", "kaiming_normal", "xavier_uniform", "xavier_normal", or None for default PyTorch initialization.

num_epochsint, default = 2000

The number of epochs to train the model.

batch_sizeint, default = 16

The size of each mini-batch during training.

optimizercase insensitive str or None or an instance of optimizers

defined in torch.optim, default = “Adam” The optimizer to use for training the model. List of available optimizers: https://pytorch.org/docs/stable/optim.html#algorithms

optimizer_kwargsdict or None, default = None

Additional keyword arguments to pass to the optimizer.

criterioncase insensitive str or None or an instance of a loss function

defined in PyTorch, default = “MSELoss” The loss function to be used in training the neural network. List of available loss functions: https://pytorch.org/docs/stable/nn.html#loss-functions

criterion_kwargsdict or None, default = None

Additional keyword arguments to pass to the loss function.

callbacksNone or str or a tuple of str, default = “ReduceLROnPlateau”

Currently only learning rate schedulers are supported as callbacks. If more than one scheduler is passed, they are applied sequentially in the order they are passed. If None, then no learning rate scheduler is used. List of available learning rate schedulers: https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate

callback_kwargsdict or None, default = None

The keyword arguments to be passed to the callbacks.

lrfloat, default = 0.01

The learning rate to use for the optimizer.

verbosebool, default = False

Whether to print progress information during training.

random_stateint, default = 0

Seed to ensure reproducibility.

Attributes:
is_fitted

Whether fit has been called.

Examples

>>> from sktime.regression.deep_learning.fcn import FCNRegressorTorch
>>> from sktime.datasets import load_unit_test
>>> X_train, y_train = load_unit_test(split="train")
>>> X_test, y_test = load_unit_test(split="test")
>>> reg = FCNRegressorTorch(num_epochs=20, batch_size=4)
>>> reg.fit(X_train, y_train)
FCNRegressorTorch(...)

Methods

check_is_fitted([method_name])

Check if the estimator has been fitted.

clone()

Obtain a clone of the object with same hyper-parameters and config.

clone_tags(estimator[, tag_names])

Clone tags from another object as dynamic override.

create_test_instance([parameter_set])

Construct an instance of the class, using first test parameter set.

create_test_instances_and_names([parameter_set])

Create list of all test instances and a list of names for them.

fit(X, y)

Fit time series regressor to training data.

get_class_tag(tag_name[, tag_value_default])

Get class tag value from class, with tag level inheritance from parents.

get_class_tags()

Get class tags from class, with tag level inheritance from parent classes.

get_config()

Get config flags for self.

get_fitted_params([deep])

Get fitted parameters.

get_param_defaults()

Get object's parameter defaults.

get_param_names([sort])

Get object's parameter names.

get_params([deep])

Get a dict of parameters values for this object.

get_tag(tag_name[, tag_value_default, ...])

Get tag value from instance, with tag level inheritance and overrides.

get_tags()

Get tags from instance, with tag level inheritance and overrides.

get_test_params([parameter_set])

Return testing parameter settings for the estimator.

is_composite()

Check if the object is composed of other BaseObjects.

load_from_path(serial)

Load object from file location.

load_from_serial(serial)

Load object from serialized memory container.

predict(X)

Predicts labels for sequences in X.

reset()

Reset the object to a clean post-init state.

save([path, serialization_format])

Save serialized self to bytes-like object or to (.zip) file.

score(X, y[, multioutput])

Scores predicted labels against ground truth labels on X.

set_config(**config_dict)

Set config flags to given values.

set_params(**params)

Set the parameters of this object.

set_random_state([random_state, deep, ...])

Set random_state pseudo-random seed parameters for self.

set_tags(**tag_dict)

Set instance level tag overrides to given values.