The solution to your original question is very straightforward. The key idea is to use torch.nn.Parameter as shown below.
class MyCNN(torch.nn.Module):
    def __init__(self):
        super(MyCNN, self).__init__()
        
        conv1 = nn.Conv2d(..specify kernel size, stride, etc..)
        self.conv1_w = torch.nn.Parameter(conv1.weight)
        self.conv1_b = torch.nn.Parameter(conv1.bias)
        
        # have several more like this.
        
    def forward(self, x):
        
        x = torch.nn.functional.conv2d(x, self.conv1_w, self.conv1_b, stride=1, padding=0, dilation=1, groups=1)
        
        self.conv1_w = self.conv1_b/torch.max(self.conv1_w)
        self.conv1_b = self.conv1_b/torch.max(self.conv1_b)
        
        return x