The network printing issue is resolved. I changed the code and it works as
class Net(torch.nn.Module):   
    _kernel_size = 5
    _stride=1
    _padding=2
    _outChannels=64
    _inChannels = 64
    def __init__(self):
        super(Net, self).__init__()

        self.cnn_Inputlayer = Conv2d(3, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.relu = ReLU(inplace=True)
        
        self.cnn_layers1 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers2 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers3 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers4 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers5 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers6 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers7 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers8 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers9 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers10 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers11 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers12 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers13 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers14 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
        self.cnn_layers15 =  Conv2d(self._inChannels, self._outChannels, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)

        self.batch = BatchNorm2d(64)
        self.cnn_OutputLayer = Conv2d(self._inChannels, 3, kernel_size=self._kernel_size, stride=self._stride, padding=self._padding)
    # Defining the forward pass    
    def forward(self, x):
        x = self.relu(self.cnn_Inputlayer(x))
        
        # for i in range(1,15):
        x = self.relu(self.batch(self.cnn_layers1(x)))
        x = self.relu(self.batch(self.cnn_layers2(x)))
        x = self.relu(self.batch(self.cnn_layers3(x)))
        x = self.relu(self.batch(self.cnn_layers4(x)))
        x = self.relu(self.batch(self.cnn_layers5(x)))
        x = self.relu(self.batch(self.cnn_layers6(x)))
        x = self.relu(self.batch(self.cnn_layers7(x)))
        x = self.relu(self.batch(self.cnn_layers8(x)))
        x = self.relu(self.batch(self.cnn_layers9(x)))
        x = self.relu(self.batch(self.cnn_layers10(x)))
        x = self.relu(self.batch(self.cnn_layers11(x)))
        x = self.relu(self.batch(self.cnn_layers12(x)))
        x = self.relu(self.batch(self.cnn_layers13(x)))
        x = self.relu(self.batch(self.cnn_layers14(x)))
        x = self.relu(self.batch(self.cnn_layers15(x)))

        x = self.cnn_OutputLayer(x)
        return x

The main problem is with the loss. I tried to train with the MSE loss function but it is loss ıs static. I want to implement the custom loss function as asked in Question (shown in figure also). Any help? @ptrblck your comment and expert opinion on this?