eConvTranspose1d#

class eConvTranspose1d(in_rep, out_rep, kernel_size=3, basis_expansion='isotypic_expansion', init_scheme='xavier_uniform', **conv1d_kwargs)[source]#

Bases: ConvTranspose1d

Channel-equivariant transposed 1D convolution.

Matches torch.nn.ConvTranspose1d—inputs (B, in_rep.size, L) to outputs (B, out_rep.size, L_out)— while constraining each kernel slice to lie in \(\operatorname{Hom}_\mathbb{G}(\rho_{\text{in}}, \rho_{\text{out}})\).

The layer satisfies the equivariance constraint:

\[\rho_{\text{out}}(g) \mathbf{y}_t = \mathbf{W}^T * (\rho_{\text{in}}(g) \mathbf{x})_t + \mathbf{b}\]

where \(*\) denotes transposed convolution.

Kernel DoF are stored as (kernel_size, dim(Hom_G)) and expanded via GroupHomomorphismBasis; bias exists only if the trivial irrep appears in out_rep.

Initialize the constrained transposed convolution.

Parameters:
  • in_rep (Representation) – Channel representation \(\rho_{\text{in}}\) describing input transformation.

  • out_rep (Representation) – Channel representation \(\rho_{\text{out}}\) describing output transformation.

  • kernel_size (int, optional) – Spatial kernel size. Defaults to 3.

  • basis_expansion (typing.Literal, optional) – Basis realization strategy for GroupHomomorphismBasis.

  • init_scheme (eINIT_SCHEMES, optional) – Initialization passed to initialize_params(). Defaults to "xavier_uniform".

  • **conv1d_kwargs – Standard torch.nn.ConvTranspose1d arguments (stride, padding, bias, etc.).

property bias: Tensor | None#

Expanded invariant bias or None when not admissible.

check_equivariance(atol=1e-05, rtol=1e-05)[source]#

Check equivariance under channel actions of the underlying group.

Parameters:
forward(input)[source]#

Apply the constrained transposed 1D convolution on channel dimension.

Return type:

Tensor

Parameters:

input (Tensor)

reset_parameters(scheme='xavier_normal')[source]#

Reset trainable parameters using the chosen initialization scheme.

Parameters:

scheme (Literal['xavier_normal', 'xavier_uniform', 'kaiming_normal', 'kaiming_uniform'])

property weight: Tensor#

Dense kernel of shape (in_channels, out_channels, kernel_size).