netket.models.RBMMultiVal#

class netket.models.RBMMultiVal[source]#

Bases: flax.linen.module.Module

A fully connected Restricted Boltzmann Machine (see netket.models.RBM) suitable for large local hilbert spaces. Local quantum numbers are passed through a one hot encoding that maps them onto an enlarged space of +/- 1 spins. In turn, these quantum numbers are used with a standard RBM wave function.

Attributes
alpha: Union[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.

variables#

Returns the variables in this module.

Return type

Mapping[str, Mapping[str, Any]]

n_classes: int#

The number of classes in the one-hot encoding

Methods
activation()#
has_rng(name)#

Returns true if a PRNGSequence with name name exists.

Return type

bool

Parameters

name (str) –

kernel_init(shape, dtype=<class 'jax.numpy.float64'>)#
put_variable(col, name, value)#

Sets the value of a Variable.

Parameters
  • col (str) – the variable collection.

  • name (str) – the name of the variable.

  • value (Any) – the new value of the variable.

Returns:

visible_bias_init(shape, dtype=<class 'jax.numpy.float64'>)#