def __init__(self, in_channels, out_channels, activation=F.leaky_relu, dr=None):
    super(SNLinearBlock, self).__init__()
    initializer = chainer.initializers.GlorotUniform()
    self.activation = activation
    self.dr = dr
    if (type(out_channels) is tuple):
        self.out_shape = (((- 1),) + out_channels)
    else:
        self.out_shape = None
    with self.init_scope():
        self.l = SNLinear(in_channels, np.prod(out_channels), initialW=initializer)
def __init__(self, in_channels, out_channels, activation=F.leaky_relu, dr=None):
    super(SNLinearBlock, self).__init__()
    initializer = chainer.initializers.GlorotUniform()
    self.activation = activation
    self.dr = dr
    if (type(out_channels) is tuple):
        self.out_shape = (((- 1),) + out_channels)
    else:
        self.out_shape = None
    with self.init_scope():
        self.l = SNLinear(in_channels, np.prod(out_channels), initialW=initializer)