Spaces:
Sleeping
Sleeping
# AUTOGENERATED! DO NOT EDIT! File to edit: simple_network.ipynb. | |
# %% auto 0 | |
__all__ = ['LeNet5'] | |
# %% simple_network.ipynb 1 | |
#%matplotlib inline | |
import torch | |
import torch.nn as nn | |
import torch.nn.functional as F | |
import torch.optim as optim | |
import torchvision | |
import torchvision.transforms as transforms | |
import matplotlib | |
import matplotlib.pyplot as plt | |
import numpy as np | |
# %% simple_network.ipynb 4 | |
class LeNet5(nn.Module): | |
def __init__(self, num_classes): | |
super().__init__() | |
self.l1 = nn.Sequential( | |
nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, stride=1, padding=2), # 28*28-->32*32-->28*28 | |
nn.BatchNorm2d(6), | |
nn.ReLU(), | |
nn.MaxPool2d(kernel_size = 2, stride = 2)) | |
self.l2 = nn.Sequential( | |
nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5, stride=1, padding=0), # 10*10 | |
nn.BatchNorm2d(16), | |
nn.ReLU(), | |
nn.MaxPool2d(kernel_size = 2, stride = 2)) | |
self.classifier = nn.Sequential( | |
nn.Flatten(), | |
nn.Linear(in_features=16*5*5, out_features=120), | |
nn.ReLU(), | |
nn.Linear(in_features=120, out_features=84), | |
nn.ReLU(), | |
nn.Linear(in_features=84, out_features=num_classes), | |
) | |
def forward(self, x): | |
out = self.l1(x) | |
out = self.l2(out) | |
out = self.classifier(out) | |
return out | |