phlower.nn.TCN

class phlower.nn.TCN(nodes, kernel_sizes, dilations, activations, bias=True, dropouts=None)[source]

Bases: Module, IPhlowerCoreModule

Temporal Convolutional Networks

Ref. https://arxiv.org/abs/1803.01271

Parameters:
  • nodes (list[int]) – List of feature dimension sizes (The last value of tensor shape).

  • kernel_sizes (list[int]) – List of kernel sizes.

  • dilations (list[int]) – List of dilations.

  • activations (list[str]) – List of activation functions.

  • bias (bool) – Whether to use bias.

  • dropouts (list[float] | None (optional)) – List of dropout rates.

Examples

>>> tcn = TCN(
...     nodes=[10, 20, 30],
...     kernel_sizes=[3, 3, 3],
...     dilations=[1, 2, 4],
...     activations=["relu", "relu", "relu"],
...     bias=True,
...     dropouts=[0.1, 0.1, 0.1]
... )
>>> tcn(data)

Methods

forward(data, *[, field_data])

forward function which overload torch.nn.Module

from_setting(setting)

Create TCN from TCNSetting instance

get_nn_name()

Return neural network name

Attributes

T_destination

call_super_init

dump_patches

training

forward(data, *, field_data=None, **kwards)[source]

forward function which overload torch.nn.Module

Parameters:
  • data (IPhlowerTensorCollections) – IPhlowerTensorCollections data which receives from predecessors

  • field_data (ISimulationField | None) – ISimulationField | None Constant information through training or prediction

Returns:

Tensor object

Return type:

PhlowerTensor

classmethod from_setting(setting)[source]

Create TCN from TCNSetting instance

Parameters:

setting (TCNSetting) – setting object for TCN

Returns:

TCN model

Return type:

TCN

classmethod get_nn_name()[source]

Return neural network name

Returns:

name

Return type:

str