TensorFlow для генерации лица, увеличьте размер с 28px conv2d_transpose - PullRequest
0 голосов
/ 19 февраля 2019

Я следую этого урока и могу сгенерировать лица размером 28px, используя мой графический процессор.Однако я не знаю, как увеличить размер лица (в настоящее время 28 пикселей) с помощью логики функции генератора ниже:

def generator(z, out_channel_dim, is_train=True, alpha=0.2, keep_prob=0.5):
    with tf.variable_scope('generator', reuse=(not is_train)):
        # First fully connected layer, 4x4x1024
        fc = tf.layers.dense(z, 4 * 4 * 1024, use_bias=False)
        fc = tf.reshape(fc, (-1, 4, 4, 1024))
        bn0 = tf.layers.batch_normalization(fc, training=is_train)
        lrelu0 = tf.maximum(alpha * bn0, bn0)
        drop0 = tf.layers.dropout(lrelu0, keep_prob, training=is_train)

        # Deconvolution, 7x7x512
        conv1 = tf.layers.conv2d_transpose(drop0, 512, 4, 1, 'valid', use_bias=False)
        bn1 = tf.layers.batch_normalization(conv1, training=is_train)
        lrelu1 = tf.maximum(alpha * bn1, bn1)
        drop1 = tf.layers.dropout(lrelu1, keep_prob, training=is_train)

        # Deconvolution, 14x14x256
        conv2 = tf.layers.conv2d_transpose(drop1, 256, 5, 2, 'same', use_bias=False)
        bn2 = tf.layers.batch_normalization(conv2, training=is_train)
        lrelu2 = tf.maximum(alpha * bn2, bn2)
        drop2 = tf.layers.dropout(lrelu2, keep_prob, training=is_train)

        # Output layer, 28x28xn
        logits = tf.layers.conv2d_transpose(drop2, out_channel_dim, 5, 2, 'same')

        out = tf.tanh(logits)

        return out

Я предполагаю, что мне нужно будет что-то изменить в строке:

conv2 = tf.layers.conv2d_transpose(drop1, 256, 5, 2, 'same', use_bias=False)

1 Ответ

0 голосов
/ 19 февраля 2019

Изменение должно быть сделано на последнем слое logits, так как это слой, который определяет размер вывода.изменение значения out_channel_dim на нужный вам размер будет решением.Это может вызвать некоторую ошибку (из-за размера ядра и значений шага), или результат не будет таким же (так как ваша сеть не обучена для этого размера).

...