self.creat_network() tries to access self.prePrp before it’s created, so you would have to move its creation before calling self.creat_network()`:
class SuperResolutionNet(nn.Module):
    def __init__(self):
        super(SuperResolutionNet, self).__init__()
        self.relu = nn.ReLU(inplace=False)
        self.conv1 = nn.Conv2d(1, 64, (5, 5), (1, 1), (2, 2))
        self.prePrp = preprocess()
        self.modules = self.creat_network()
    ...