class ConvNet(nn.Module):
def init(self):
super(ConvNet, self).init()
self.layer1 = nn.Sequential(
nn.Conv1d(1, 16, kernel_size=9, stride=1 , padding=4),
nn.BatchNorm1d(16),
nn.ReLU(),
nn.MaxPool1d(kernel_size=2, stride=2))
self.layer2 = nn.Sequential(
nn.Conv1d(16, 32 ,kernel_size=5, stride=1, padding=2),
nn.BatchNorm1d(32),
nn.ReLU(),
nn.MaxPool1d(kernel_size=2, stride=2))
self.drop_out = nn.Dropout()
self.fc1 = nn.Linear(32*25, 1000)
self.fc2 = nn.Linear(1000, 2)
def forward(self, x):
out = self.layer1(x)
out = self.layer2(out)
out = out.reshape(-1,32*25)
out = self.fc1(out)
out = self.fc2(out)
return out