MolecularDiffusion.modules.models.diffspectra.specformer_layers

Building blocks for specformer – ported verbatim from others/DiffSpectra/models/specformer_layers.py (itself PatchTST’s building blocks, https://github.com/yuqinie98/PatchTST). No behaviour changes; only the unused __all__ re-export list and a couple of docstrings were trimmed.

moving_avg/series_decomp/Coord1dPosEncoding/Coord2dPosEncoding are dead in DMT’s own use of SpecFormer (it always constructs with pe='zeros'), but are kept because positional_encoding() dispatches to them for other pe values and the file is small enough that a partial port would only be a trap for whoever changes pe later.

Attributes

Classes

Transpose

moving_avg

Moving average block to highlight the trend of a time series.

series_decomp

Series decomposition block.

Functions

Coord1dPosEncoding(q_len[, exponential, normalize])

Coord2dPosEncoding(q_len, d_model[, exponential, ...])

PositionalEncoding(q_len, d_model[, normalize])

get_activation_fn(activation)

positional_encoding(pe, learn_pe, q_len, d_model)

Module Contents

class MolecularDiffusion.modules.models.diffspectra.specformer_layers.Transpose(*dims, contiguous=False)

Bases: torch.nn.Module

forward(x)
class MolecularDiffusion.modules.models.diffspectra.specformer_layers.moving_avg(kernel_size, stride)

Bases: torch.nn.Module

Moving average block to highlight the trend of a time series.

forward(x)
avg
kernel_size
class MolecularDiffusion.modules.models.diffspectra.specformer_layers.series_decomp(kernel_size)

Bases: torch.nn.Module

Series decomposition block.

forward(x)
moving_avg
MolecularDiffusion.modules.models.diffspectra.specformer_layers.Coord1dPosEncoding(q_len, exponential=False, normalize=True)
MolecularDiffusion.modules.models.diffspectra.specformer_layers.Coord2dPosEncoding(q_len, d_model, exponential=False, normalize=True, eps=0.001, verbose=False)
MolecularDiffusion.modules.models.diffspectra.specformer_layers.PositionalEncoding(q_len, d_model, normalize=True)
MolecularDiffusion.modules.models.diffspectra.specformer_layers.get_activation_fn(activation)
MolecularDiffusion.modules.models.diffspectra.specformer_layers.positional_encoding(pe, learn_pe, q_len, d_model)
MolecularDiffusion.modules.models.diffspectra.specformer_layers.SinCosPosEncoding