learnergy.models.extra¶
Additional RBM-based models.
A package contaning additional RBM-based models (networks) for all common learnergy modules.
- class learnergy.models.extra.SigmoidRBM(n_visible: Optional[int] = 128, n_hidden: Optional[int] = 128, steps: Optional[int] = 1, learning_rate: Optional[float] = 0.1, momentum: Optional[float] = 0.0, decay: Optional[float] = 0.0, temperature: Optional[float] = 1.0, use_gpu: Optional[bool] = False)¶
Bases:
learnergy.models.bernoulli.RBM
A SigmoidRBM class provides the basic implementation for Sigmoid-Bernoulli Restricted Boltzmann Machines.
References
G. Hinton. A practical guide to training restricted Boltzmann machines. Neural networks: Tricks of the trade (2012).
- __init__(self, n_visible: Optional[int] = 128, n_hidden: Optional[int] = 128, steps: Optional[int] = 1, learning_rate: Optional[float] = 0.1, momentum: Optional[float] = 0.0, decay: Optional[float] = 0.0, temperature: Optional[float] = 1.0, use_gpu: Optional[bool] = False)¶
Initialization method.
- Parameters
n_visible – Amount of visible units.
n_hidden – Amount of hidden units.
steps – Number of Gibbs’ sampling steps.
learning_rate – Learning rate.
momentum – Momentum parameter.
decay – Weight decay used for penalization.
temperature – Temperature factor.
use_gpu – Whether GPU should be used or not.
- visible_sampling(self, h: torch.Tensor, scale: Optional[bool] = False)¶
Performs the visible layer sampling, i.e., P(v|h).
- Parameters
h – A tensor incoming from the hidden layer.
scale – A boolean to decide whether temperature should be used or not.
- Returns
The states and probabilities of the visible layer sampling.
- Return type
(Tuple[torch.Tensor, torch.Tensor])
- class learnergy.models.extra.SigmoidRBM4deep(n_visible: Optional[int] = 128, n_hidden: Optional[int] = 128, steps: Optional[int] = 1, learning_rate: Optional[float] = 0.1, momentum: Optional[float] = 0.0, decay: Optional[float] = 0.0, temperature: Optional[float] = 1.0, use_gpu: Optional[bool] = False)¶
Bases:
SigmoidRBM
A SigmoidRBM class provides the basic implementation for Sigmoid-Bernoulli Restricted Boltzmann Machines.
References
G. Hinton. A practical guide to training restricted Boltzmann machines. Neural networks: Tricks of the trade (2012).
- __init__(self, n_visible: Optional[int] = 128, n_hidden: Optional[int] = 128, steps: Optional[int] = 1, learning_rate: Optional[float] = 0.1, momentum: Optional[float] = 0.0, decay: Optional[float] = 0.0, temperature: Optional[float] = 1.0, use_gpu: Optional[bool] = False)¶
Initialization method.
- Parameters
n_visible – Amount of visible units.
n_hidden – Amount of hidden units.
steps – Number of Gibbs’ sampling steps.
learning_rate – Learning rate.
momentum – Momentum parameter.
decay – Weight decay used for penalization.
temperature – Temperature factor.
use_gpu – Whether GPU should be used or not.
- fit(self, dataset: torch.utils.data.Dataset, batch_size: Optional[int] = 128, epochs: Optional[int] = 1)¶
Fits a new SigmoidRBM model.
- Parameters
dataset – A Dataset object containing the training data.
batch_size – Amount of samples per batch.
epochs – Number of training epochs.
- Returns
MSE (mean squared error) and log pseudo-likelihood from the training step.
- Return type
(Tuple[float, float])