|
'''LeNet in PyTorch.''' |
|
import torch.nn as nn |
|
import torch.nn.functional as F |
|
|
|
class LeNet(nn.Module): |
|
def __init__(self): |
|
super(LeNet, self).__init__() |
|
self.conv1 = nn.Conv2d(3, 6, 5) |
|
self.conv2 = nn.Conv2d(6, 16, 5) |
|
self.fc1 = nn.Linear(16*5*5, 120) |
|
self.fc2 = nn.Linear(120, 84) |
|
self.fc3 = nn.Linear(84, 10) |
|
|
|
def forward(self, x): |
|
out = F.relu(self.conv1(x)) |
|
out = F.max_pool2d(out, 2) |
|
out = F.relu(self.conv2(out)) |
|
out = F.max_pool2d(out, 2) |
|
out = out.view(out.size(0), -1) |
|
out = F.relu(self.fc1(out)) |
|
out = F.relu(self.fc2(out)) |
|
out = self.fc3(out) |
|
return out |
|
|