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
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')
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
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)
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, )
# 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()