示例#1
0
def rbm(opytimizer):
    # Gathers params
    lr = opytimizer[0][0]
    momentum = opytimizer[1][0]
    decay = opytimizer[2][0]

    # Creates an RBM
    model = RBM(n_visible=784,
                n_hidden=128,
                steps=1,
                learning_rate=lr,
                momentum=momentum,
                decay=decay,
                temperature=1,
                use_gpu=False)

    # Training an RBM
    error, _ = model.fit(train, batch_size=128, epochs=5)

    return error
示例#2
0
    T = args.temp
    gpu = args.gpu
    batch_size = args.batch_size
    epochs = args.epochs
    seed = args.seed

    # Loads the training data
    train, _, _ = s.load_dataset(name=dataset, val_split=split)

    # Defining the torch seed
    torch.manual_seed(seed)

    # Creates an RBM
    model = RBM(n_visible=n_visible,
                n_hidden=n_hidden,
                steps=steps,
                learning_rate=lr,
                momentum=momentum,
                decay=decay,
                temperature=T,
                use_gpu=True)

    # Fits an RBM
    mse, pl = model.fit(train, batch_size=batch_size, epochs=epochs)

    # Saves the RBM
    torch.save(model, f'models/{output_model}.pth')

    # Outputting extracted weights to a numpy file
    s.save_torch_as_numpy(model.W, output_file=f'weights/{output_weight}.npy')
示例#3
0
    download=True,
    transform=torchvision.transforms.ToTensor(),
)
test = torchvision.datasets.MNIST(
    root="./data",
    train=False,
    download=True,
    transform=torchvision.transforms.ToTensor(),
)

# Creating an RBM
model = RBM(
    n_visible=784,
    n_hidden=128,
    steps=1,
    learning_rate=0.1,
    momentum=0,
    decay=0,
    temperature=1,
    use_gpu=True,
)

# Training an RBM
mse, pl = model.fit(train, batch_size=128, epochs=5)

# Reconstructing test set
rec_mse, v = model.reconstruct(test)

# Saving model
torch.save(model, "model.pth")

# Checking the model's history
示例#4
0
import torchvision

import learnergy.visual.image as im
from learnergy.models.bernoulli import RBM

# Creating training dataset
train = torchvision.datasets.MNIST(root='./data',
                                   train=True,
                                   download=True,
                                   transform=torchvision.transforms.ToTensor())

# Creating an RBM
model = RBM(n_visible=784,
            n_hidden=128,
            steps=1,
            learning_rate=0.1,
            momentum=0,
            decay=0,
            temperature=1,
            use_gpu=True)

# Training an RBM
model.fit(train, epochs=5)

# Creating weights' mosaic
im.create_mosaic(model.W)
示例#5
0
from learnergy.models.bernoulli import RBM

# Creates an RBM-based class
model = RBM(
    n_visible=784,
    n_hidden=128,
    steps=1,
    learning_rate=0.1,
    momentum=0,
    decay=0,
    temperature=1,
    use_gpu=False,
)
示例#6
0
# Creating training and validation/testing dataset
train = torchvision.datasets.MNIST(root='./data',
                                   train=True,
                                   download=True,
                                   transform=torchvision.transforms.ToTensor())
test = torchvision.datasets.MNIST(root='./data',
                                  train=False,
                                  download=True,
                                  transform=torchvision.transforms.ToTensor())

# Creating an RBM
model = RBM(n_visible=784,
            n_hidden=128,
            steps=1,
            learning_rate=0.1,
            momentum=0,
            decay=0,
            temperature=1,
            use_gpu=True)

# Training an RBM
model.fit(train, batch_size=batch_size, epochs=1)

# Creating the Fully Connected layer to append on top of RBM
fc = nn.Linear(model.n_hidden, n_classes)

# Check if model uses GPU
if model.device == 'cuda':
    # If yes, put fully-connected on GPU
    fc = fc.cuda()