Skip to content

Instantly share code, notes, and snippets.

View albertlai431's full-sized avatar

Albert Lai albertlai431

View GitHub Profile
@albertlai431
albertlai431 / hyperparameters.py
Created December 4, 2018 00:24
Initializing Hyperparameters
#Initializing hyperparameters
num_epochs = 8
num_classes = 10
batch_size = 100
learning_rate = 0.001
@albertlai431
albertlai431 / dataset.py
Last active December 4, 2018 01:57
Loading Dataset
#Loading dataset
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize((0.5,0.5,0.5), (0.5,0.5,0.5))])
train_dataset = datasets.FashionMNIST(root='./data',
train=True,
download=True,
transform=transform)
test_dataset = datasets.FashionMNIST(root='./data',
@albertlai431
albertlai431 / dataloader.py
Created December 4, 2018 00:26
Loading into Dataloader
#Loading dataset into dataloader
train_loader = torch.utils.data.DataLoader(dataset=train_dataset,
batch_size=batch_size,
shuffle=True)
test_loader = torch.utils.data.DataLoader(dataset=test_dataset,
batch_size=batch_size,
shuffle=False)
@albertlai431
albertlai431 / define.py
Created December 4, 2018 00:27
Defining the CNN
#Defining the network
class CNNModel(nn.Module):
@albertlai431
albertlai431 / initializelayers.py
Created December 4, 2018 00:28
Initializing Layers
def __init__(self):
super(CNNModel, self).__init__()
#Convolution 1
self.cnn1 = nn.Conv2d(in_channels=1, out_channels=16, kernel_size=5, stride=1, padding=2)
self.relu1 = nn.ReLU()
#Max pool 1
self.maxpool1 = nn.MaxPool2d(kernel_size=2)
@albertlai431
albertlai431 / forward.py
Created December 4, 2018 00:30
Forward Propagation
def forward(self, x):
#Convolution 1
out = self.cnn1(x)
out = self.relu1(out)
#Max pool 1
out = self.maxpool1(out)
#Convolution 2
out = self.cnn2(out)
@albertlai431
albertlai431 / modelinstance.py
Created December 4, 2018 00:31
Creating instance of model
#Create instance of model
model = CNNModel()
@albertlai431
albertlai431 / lossinstance.py
Created December 4, 2018 00:32
Instance of Loss
#Create instance of loss
criterion = nn.CrossEntropyLoss()
@albertlai431
albertlai431 / optimizerinstance.py
Created December 4, 2018 00:33
Instance of Optimizer
#Create instance of optimizer (Adam)
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
@albertlai431
albertlai431 / train.py
Created December 4, 2018 00:33
Training
#Train the model
iter = 0
for epoch in range(num_epochs):
for i, (images, labels) in enumerate(train_loader):
images = Variable(images)
labels = Variable(labels)
#Clear the gradients
optimizer.zero_grad()