Exemplo n.º 1
0
def discriminator(x, f_dim, output_size, c_dim, is_training=True):
    # Network
    net = x

    with slim.arg_scope([conv2d], activation_fn=lrelu, is_spectral_norm=True,
                        kernel_size=[5, 5], stride=[2, 2], update_collection=None):
        net = conv2d(net, f_dim, name='conv0')
        net = conv2d(net, f_dim, name='conv1')
        net = conv2d(net, f_dim, name='conv2')
        net = conv2d(net, f_dim, name='conv3')

    net = tf.reshape(net, [-1, output_size // 16 * output_size // 16 * f_dim])
    logits = fully_connected(net, 1, activation_fn=None, is_spectral_norm=True,
                             update_collection=None, name='fc4')
    logits = tf.squeeze(logits, -1)

    return logits
Exemplo n.º 2
0
def discriminator(x, f_dim, output_size, c_dim, is_training=True):
    # Network
    net = x
    with slim.arg_scope([conv2d],
                        activation_fn=lrelu,
                        is_spectral_norm=False,
                        update_collection=None):
        net = conv2d(net,
                     f_dim,
                     kernel_size=[3, 3],
                     stride=[1, 1],
                     name='conv0_0')
        net = conv2d(net,
                     f_dim,
                     kernel_size=[4, 4],
                     stride=[2, 2],
                     name='conv0_1')
        net = conv2d(net,
                     2 * f_dim,
                     kernel_size=[3, 3],
                     stride=[1, 1],
                     name='conv1_0')
        net = conv2d(net,
                     2 * f_dim,
                     kernel_size=[4, 4],
                     stride=[2, 2],
                     name='conv1_1')
        net = conv2d(net,
                     4 * f_dim,
                     kernel_size=[3, 3],
                     stride=[1, 1],
                     name='conv2_0')
        net = conv2d(net,
                     4 * f_dim,
                     kernel_size=[4, 4],
                     stride=[2, 2],
                     name='conv2_1')
        net = conv2d(net,
                     8 * f_dim,
                     kernel_size=[3, 3],
                     stride=[1, 1],
                     name='conv3_0')

    net = tf.reshape(net,
                     [-1, output_size // 8 * output_size // 8 * 8 * f_dim])
    # net = slim.fully_connected(net, 512, activation_fn=lrelu)
    logits = fully_connected(net,
                             1,
                             activation_fn=None,
                             is_spectral_norm=False,
                             update_collection=None)
    logits = tf.squeeze(logits, -1)

    return logits
Exemplo n.º 3
0
def discriminator(x, f_dim, output_size, c_dim, is_training=True):
    # Network
    net = x

    argscope_conv2d = slim.arg_scope([conv2d], kernel_size=[4, 4], stride=[2, 2],
                                     activation_fn=tf.nn.relu, is_spectral_norm=True, update_collection=None)
    with argscope_conv2d:
        net = conv2d(net, f_dim, name='conv0_0')
        dnet = conv2d(net, f_dim, kernel_size=[3, 3], stride=[1, 1], name='conv0_1')
        net += 1e-1 * conv2d(dnet, f_dim, kernel_size=[3, 3], stride=[1, 1], name='conv0_2')

        net = conv2d(net, f_dim, name='conv1_0')
        dnet = conv2d(net, f_dim // 2, kernel_size=[3, 3], stride=[1, 1], name='conv1_1')
        net += 1e-1 * conv2d(dnet, f_dim, kernel_size=[3, 3], stride=[1, 1], name='conv1_2')

        net = conv2d(net, f_dim, name='conv2_0')
        dnet = conv2d(net, f_dim // 2, kernel_size=[3, 3], stride=[1, 1], name='conv2_1')
        net += 1e-1 * conv2d(dnet, f_dim, kernel_size=[3, 3], stride=[1, 1], name='conv2_2')

        net = conv2d(net, f_dim, name='conv3_0')
        dnet = conv2d(net, f_dim // 2, kernel_size=[3, 3], stride=[1, 1], name='conv3_1')
        net += 1e-1 * conv2d(dnet, f_dim, kernel_size=[3, 3], stride=[1, 1], name='conv3_2')

    net = tf.reshape(net, [-1, output_size // 16 * output_size // 16 * f_dim])
    logits = fully_connected(net, 1, activation_fn=None, is_spectral_norm=True, update_collection=None, name='fc4')
    logits = tf.squeeze(logits, -1)

    return logits