RBM¶
-
class
qucumber.rbm.
BinaryRBM
(num_visible, num_hidden, zero_weights=False, gpu=True)[source]¶ Bases:
torch.nn.Module
-
effective_energy
(v)[source]¶ The effective energies of the given visible states.
- Parameters
v (torch.Tensor) – The visible states.
- Returns
The effective energies of the given visible states.
- Return type
-
effective_energy_gradient
(v, reduce=True)[source]¶ The gradients of the effective energies for the given visible states.
- Parameters
v (torch.Tensor) – The visible states.
reduce – If True, will sum over the gradients resulting from each visible state. Otherwise will return a batch of gradient vectors.
- Returns
Will return a vector (or matrix if reduce=False and multiple visible states were given as a matrix) containing the gradients for all parameters (computed on the given visible states v).
- Return type
-
gibbs_steps
(k, initial_state, overwrite=False)[source]¶ Performs k steps of Block Gibbs sampling. One step consists of sampling the hidden state from the conditional distribution , and sampling the visible state from the conditional distribution .
- Parameters
k (int) – Number of Block Gibbs steps.
initial_state (torch.Tensor) – The initial state of the Markov Chains.
overwrite (bool) – Whether to overwrite the initial_state tensor, if it is provided.
-
partition
(space)[source]¶ Compute the partition function of the RBM.
- Parameters
space (torch.Tensor) – A rank 2 tensor of the visible space.
- Returns
The value of the partition function evaluated at the current state of the RBM.
- Return type
-
prob_h_given_v
(v, out=None)[source]¶ Given a visible unit configuration, compute the probability vector of the hidden units being on.
- Parameters
h (torch.Tensor) – The hidden unit.
out (torch.Tensor) – The output tensor to write to.
- Returns
The probability of hidden units being active given the visible state.
- Return type
-
prob_v_given_h
(h, out=None)[source]¶ Given a hidden unit configuration, compute the probability vector of the visible units being on.
- Parameters
h (torch.Tensor) – The hidden unit
out (torch.Tensor) – The output tensor to write to.
- Returns
The probability of visible units being active given the hidden state.
- Return type
-
sample_h_given_v
(v, out=None)[source]¶ Sample/generate a hidden state given a visible state.
- Parameters
h (torch.Tensor) – The visible state.
out (torch.Tensor) – The output tensor to write to.
- Returns
The sampled hidden state.
- Return type
-
sample_v_given_h
(h, out=None)[source]¶ Sample/generate a visible state given a hidden state.
- Parameters
h (torch.Tensor) – The hidden state.
out (torch.Tensor) – The output tensor to write to.
- Returns
The sampled visible state.
- Return type
-