import time from typing import Optional, Tuple import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as opt from torch.utils.data import DataLoader from tqdm import tqdm import learnergy.utils.constants as c import learnergy.utils.exception as e from learnergy.core import Model from learnergy.utils import logging logger = logging.get_logger(__name__) class RBM(Model): """An RBM class provides the basic implementation for Bernoulli-Bernoulli Restricted Boltzmann Machines. References: G. Hinton. A practical guide to training restricted Boltzmann machines. Neural networks: Tricks of the trade (2012). """ def __init__( self, n_visible: Optional[int] = 128, n_hidden: Optional[int] = 128, steps: Optional[int] = 1,
def test_get_logger(): logger = logging.get_logger(__name__) assert logger.name == "test_logging" assert logger.hasHandlers() is True
"""Discriminative Bernoulli-Bernoulli Restricted Boltzmann Machine. """ import time import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import DataLoader from tqdm import tqdm import learnergy.utils.exception as e import learnergy.utils.logging as l from learnergy.models.bernoulli import RBM logger = l.get_logger(__name__) class DiscriminativeRBM(RBM): """A DiscriminativeRBM class provides the basic implementation for Discriminative Bernoulli-Bernoulli Restricted Boltzmann Machines. References: H. Larochelle and Y. Bengio. Classification using discriminative restricted Boltzmann machines. Proceedings of the 25th international conference on Machine learning (2008). """ def __init__(self, n_visible=128, n_hidden=128, n_classes=1,
def test_get_logger(): logger = logging.get_logger(__name__) assert logger.name == 'test_logging' assert logger.hasHandlers() == True