Skip to content

NoisyLinear ​

python
NoisyLinear(in_features: int, out_features: int, sigma0: float = 0.5) -> None

Noisy linear layer for Noisy Networks. See: https://arxiv.org/abs/1706.10295

Initialize the NoisyLinear layer.

Parameters:

  • in_features (int) – Number of input features.
  • out_features (int) – Number of output features.
  • sigma0 (float) – Initial standard deviation for noise.

Source

Methods ​

forward ​

python
forward(x: torch.Tensor) -> torch.Tensor

Forward pass with noise added to weights and bias.

Parameters:

  • x (Tensor) – Input tensor.

Returns:

  • Tensor – Output tensor.

Source

reset_noise ​

python
reset_noise(epsilon_in: torch.Tensor | None = None, epsilon_out: torch.Tensor | None = None) -> None

Generate new noise and pre-calculate noisy weight and bias.

Parameters:

  • epsilon_in (Tensor | None) – Optional pre-scaled noise for input features.
  • epsilon_out (Tensor | None) – Optional pre-scaled noise for output features.

Source

reset_parameters ​

python
reset_parameters() -> None

Reset layer parameters using Mu initialization.

Source

Values ​

bias ​

python
bias: torch.Tensor

Source

bias_mu ​

python
bias_mu: nn.Parameter = nn.Parameter(torch.empty(out_features))

Source

bias_sigma ​

python
bias_sigma: nn.Parameter = nn.Parameter(torch.empty(out_features))

Source

epsilon_in ​

python
epsilon_in: torch.Tensor

Source

epsilon_out ​

python
epsilon_out: torch.Tensor

Source

in_features ​

python
in_features = in_features

Source

out_features ​

python
out_features = out_features

Source

sigma0 ​

python
sigma0 = sigma0

Source

weight ​

python
weight: torch.Tensor

Source

weight_mu ​

python
weight_mu: nn.Parameter = nn.Parameter(torch.empty(out_features, in_features))

Source

weight_sigma ​

python
weight_sigma: nn.Parameter = nn.Parameter(torch.empty(out_features, in_features))

Source