Hi, I want to compare the mentioned filters before training, halfway during training and after the training is completed. I have read some resources but I am struggling with implementation.

This is my network

ConvNet(

(conv1): Sequential(

(0): Conv2d(3, 16, kernel_size=(3, 3), stride=(1, 1))

(1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)

(2): ReLU()

(3): Dropout(p=0.3, inplace=False)

)

(conv2): Sequential(

(0): Conv2d(16, 24, kernel_size=(4, 4), stride=(1, 1))

(1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)

(2): ReLU()

(3): Dropout(p=0.3, inplace=False)

)

(conv3): Sequential(

(0): Conv2d(24, 32, kernel_size=(4, 4), stride=(1, 1))

(1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)

(2): ReLU()

(3): Dropout(p=0.3, inplace=False)

)

(fc1): Sequential(

(0): Linear(in_features=26912, out_features=512, bias=True)

)

(fc2): Sequential(

(0): Linear(in_features=512, out_features=10, bias=True)

(1): Softmax(dim=1)

)

)