def __init__()

in generation/models/networks.py [0:0]


    def __init__(self, input_nc, ndf=64, n_layers=3,
                 use_sigmoid=False, getIntermFeat=False):
        super(NLayerSNDiscriminator, self).__init__()
        self.getIntermFeat = getIntermFeat
        self.n_layers = n_layers

        kw = 4
        padw = int(np.ceil((kw-1.0)/2))
        self.conv1 = SpectralNorm(
            nn.Conv2d(input_nc, ndf, kw, stride=2, padding=padw))
        # self.conv1 = nn.Conv2d(input_nc, ndf, kw, stride=2, padding=padw)

        self.conv_others = []
        nf = ndf
        for n in range(1, n_layers):
            nf_prev = nf
            nf = min(nf * 2, 512)
            # self.conv_others.append(
            #     nn.Conv2d(nf_prev, nf,
            #                   kernel_size=kw, stride=2,
            #                   padding=padw))
            self.conv_others.append(
                SpectralNorm(
                    nn.Conv2d(nf_prev, nf,
                              kernel_size=kw, stride=2,
                              padding=padw)))

        sequence = [[self.conv1,
                     nn.LeakyReLU(0.2, True)]]

        nf = ndf
        for n in range(1, n_layers):
            nf_prev = nf
            nf = min(nf * 2, 512)
            sequence += [[
                self.conv_others[n - 1],
                # norm_layer(nf),
                nn.LeakyReLU(0.2, True)
            ]]

        nf_prev = nf
        nf = min(nf * 2, 512)
        self.conv_final1 = SpectralNorm(
            nn.Conv2d(nf_prev, nf, kernel_size=kw, stride=1, padding=padw))
        # self.conv_final1 = nn.Conv2d(
        #     nf_prev, nf, kernel_size=kw, stride=1, padding=padw)
        sequence += [[
            self.conv_final1,
            # norm_layer(nf),
            nn.LeakyReLU(0.2, True)
        ]]

        self.conv_final2 = SpectralNorm(
            nn.Conv2d(nf, 1, kernel_size=kw, stride=1, padding=padw))
        # self.conv_final2 = nn.Conv2d(
        #     nf, 1, kernel_size=kw, stride=1, padding=padw)
        sequence += [[self.conv_final2]]

        if use_sigmoid:
            sequence += [[nn.Sigmoid()]]

        if getIntermFeat:
            for n in range(len(sequence)):
                setattr(self, 'model'+str(n), nn.Sequential(*sequence[n]))
        else:
            sequence_stream = []
            for n in range(len(sequence)):
                sequence_stream += sequence[n]
            self.model = nn.Sequential(*sequence_stream)