ccs_229_final_project / models /resnet_model.py
reysarms's picture
updated
c08ab4e
raw
history blame contribute delete
844 Bytes
import torch
import torch.nn as nn
import torchvision.models as models
class ResNet18(nn.Module):
def __init__(self, num_classes=15):
super(ResNet18, self).__init__()
self.model = models.resnet18(weights=models.ResNet18_Weights.DEFAULT)
# Replace the last fully connected layer
self.model.fc = nn.Linear(self.model.fc.in_features, num_classes)
def forward(self, x):
x = self.model.conv1(x)
x = self.model.bn1(x)
x = self.model.relu(x)
x = self.model.maxpool(x)
x = self.model.layer1(x)
x = self.model.layer2(x)
x = self.model.layer3(x)
x = self.model.layer4(x)
x = self.model.avgpool(x)
x = torch.flatten(x, 1) # <-- here torch.flatten is used, so torch must be imported
x = self.model.fc(x)
return x