Thank you for your reply. I had a mistake in the question, that, I did not explicitly mention the self.cnn4_dialation layer, which is actually having the custom kernel. The shape of the self.cnn4_dialation is [100, 100, 3, 3].
I would like to go with the forward hook. However, can I do this manually setting to 0 in the     def forward(self, x): definition as bellow:
    def forward(self, x):
        with torch.no_grad():
            self.cnn4_dialation.weight[:, :, 1, 1] = 0
        top_layers = self.relu3(self.cnn3(self.maxpool1(self.relu2(self.cnn2(self.relu1(self.cnn1(x)))))))
        out_dialated = self.cnn5_1x1(self.relu4(self.cnn4_dialation(top_layers)))
        return out_dialated

Will that work as same as the forward hook?