AbstractARNN(hilbert, parent=<flax.linen.module._Sentinel object>, name=None)¶
Base class for autoregressive neural networks.
Subclasses must implement the methods __call__ and conditionals. They can also override _conditional to implement the caching for fast autoregressive sampling. See netket.nn.FastARNNConv1D for example.
They must also implement the field machine_pow, which specifies the exponent to normalize the outputs of __call__.
Computes the conditional probabilities for each site to take each value.
- Return type
The probabilities with dimensions (batch, Hilbert.size, Hilbert.local_size).
>>> import pytest; pytest.skip("skip automated test of this docstring") >>> >>> p = model.apply(variables, σ, method=model.conditionals) >>> print(p[2, 3, :]) [0.3 0.7] # For the 3rd spin of the 2nd sample in the batch, # it takes probability 0.3 to be spin down (local state index 0), # and probability 0.7 to be spin up (local state index 1).