Last active
September 2, 2020 07:15
-
-
Save seanbenhur/1a98da9716b38933ee7f28f543f6cbf0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#create a siamese network | |
class SiameseNetwork(nn.Module): | |
def __init__(self): | |
super(SiameseNetwork, self).__init__() | |
# Setting up the Sequential of CNN Layers | |
self.cnn1 = nn.Sequential( | |
nn.Conv2d(1, 96, kernel_size=11,stride=1), | |
nn.ReLU(inplace=True), | |
nn.LocalResponseNorm(5,alpha=0.0001,beta=0.75,k=2), | |
nn.MaxPool2d(3, stride=2), | |
nn.Conv2d(96, 256, kernel_size=5,stride=1,padding=2), | |
nn.ReLU(inplace=True), | |
nn.LocalResponseNorm(5,alpha=0.0001,beta=0.75,k=2), | |
nn.MaxPool2d(3, stride=2), | |
nn.Dropout2d(p=0.3), | |
nn.Conv2d(256,384 , kernel_size=3,stride=1,padding=1), | |
nn.ReLU(inplace=True), | |
nn.Conv2d(384,256 , kernel_size=3,stride=1,padding=1), | |
nn.ReLU(inplace=True), | |
nn.MaxPool2d(3, stride=2), | |
nn.Dropout2d(p=0.3), | |
) | |
# Defining the fully connected layers | |
self.fc1 = nn.Sequential( | |
nn.Linear(30976, 1024), | |
nn.ReLU(inplace=True), | |
nn.Dropout2d(p=0.5), | |
nn.Linear(1024, 128), | |
nn.ReLU(inplace=True), | |
nn.Linear(128,2)) | |
def forward_once(self, x): | |
# Forward pass | |
output = self.cnn1(x) | |
output = output.view(output.size()[0], -1) | |
output = self.fc1(output) | |
return output | |
def forward(self, input1, input2): | |
# forward pass of input 1 | |
output1 = self.forward_once(input1) | |
# forward pass of input 2 | |
output2 = self.forward_once(input2) | |
return output1, output2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment