class ConvNet(nn.Module):

def **init**(self):

super(ConvNet, self).**init**()

self.layer1 = nn.Sequential(

nn.Conv1d(1, 16, kernel_size=5, stride=1 , padding=2),

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(64, 2)
```

# this step is how the data flow through these layers in forward pass

```
def forward(self, x):
out = self.layer1(x)
out = self.layer2(out)
#out = F.adaptive_avg_pool2d(x, (1, 1))
out = F.avg_pool1d(out,1)
#out = self.layer3(out)
#out = out.reshape(-1, 12)
out = self.drop_out(out)
#out = self.fc1(out)
out = self.fc2(out)
return out
```