netket.models.RBM#

class netket.models.RBM[source]#

Bases: Module

A restricted boltzman Machine, equivalent to a 2-layer FFNN with a nonlinear activation function in between.

Attributes
alpha: float | int = 1#

feature density. Number of features equal to alpha * input.shape[-1]

precision: Any = None#

numerical precision of the computation see jax.lax.Precision for details.

use_hidden_bias: bool = True#

if True uses a bias in the dense layer (hidden layer bias).

use_visible_bias: bool = True#

if True adds a bias to the input not passed through the nonlinear layer.

activation: Any#

The nonlinear activation function.

kernel_init: Callable[[Any, Sequence[int], Union[None, str, type[Any], dtype, _SupportsDType]], Array]#

Initializer for the Dense layer matrix.

hidden_bias_init: Callable[[Any, Sequence[int], Union[None, str, type[Any], dtype, _SupportsDType]], Array]#

Initializer for the hidden bias.

visible_bias_init: Callable[[Any, Sequence[int], Union[None, str, type[Any], dtype, _SupportsDType]], Array]#

Initializer for the visible bias.

Methods
__call__(input)[source]#

Call self as a function.