rllm.nn.conv.table_conv.ResNetConv

class rllm.nn.conv.table_conv.ResNetConv(in_dim: int, out_dim: int, normalization: str | None = 'layer_norm', dropout: float = 0.0)[source]

Bases: Module

The ResNet-like TNN LayerConv introduced in the “Revisiting Deep Learning Models for Tabular Data” paper.

This module applies a two-layer MLP block with optional normalization, activation, and dropout, then adds a residual shortcut connection.

Parameters:
  • in_dim (int) – Input feature dimensionality.

  • out_dim (int) – Output feature dimensionality.

  • normalization (str | None) – Normalization type. Supported values are "layer_norm", "batch_norm", or None. (default: "layer_norm")

  • dropout (float) – Dropout probability. (default: 0.0)

Example

>>> import torch
>>> conv = ResNetConv(in_dim=16, out_dim=32, normalization="layer_norm", dropout=0.1)
>>> x = torch.randn(64, 16)
>>> out = conv(x)
forward(x: Tensor) Tensor[source]

Apply residual MLP transformation.

Parameters:

x (Tensor) – Input tensor of shape [..., in_dim].

Returns:

Output tensor of shape [..., out_dim].

Return type:

Tensor

reset_parameters() None[source]

Resets all learnable parameters of the module.