```python
import torch
import torch.nn as nn
import torch.nn.functional as F
class ALX(nn.Module):
def __init__(self):
self.conv1 = nn.Conv2d(in_channels=3 ,out_channels= 96 ,kernel_size= 11 ,stride= 4 ,padding= 0)
self.maxpool = nn.MaxPool2d(kernel_size= 3,stride= 2)
self.conv2 = nn.Conv2d(in_channels=96 , out_channels= 256 , kernel_size= 5 ,stride= 2 ,padding= 1)
self.conv3 = nn.Conv2d(in_channels=256 ,out_channels=384 , kernel_size=3 ,stride= 1 ,pading = 1 )
self.conv4 = nn.Conv2d(in_channels=384 , out_channels= 384 ,kernel_size= 3 ,stride= 1 ,padding= 1)
self.conv5 = nn.Conv2d(in_channels=384, out_channels=256, kernel_size=3, stride=1, padding=1)
self.fc1 = nn.Linear(9216 , 2048)
self.fc2 = nn.Linear(2048, 2048)
self.fc3 = nn.Linear(2048, 1000)
self.droup = nn.Dropout(p= 0.5,inplace=True)
def forward(self, x):
x = self.maxpool(F.relu((self.conv1(x))))
x = self.maxpool(F.relu((self.conv1(x))))
x = self.maxpool(F.relu(self.conv3(x)))
x = (F.relu(self.conv4(x)))
x = (F.relu(self.conv5(x)))
x = x.view(x.size(0),9216)
x = self.droup(self.fc1(x))
x = self.droup(self.fc2(x))
x = self.fc3(x)
return x