Применение стилизации к партиям вызывает проблему - PullRequest
0 голосов
/ 25 мая 2020

В настоящее время я использую модуль стилизации TF-Hub для серии экспериментов, в которых я применяю стилизацию случайным образом к набору изображений.

После применения стилизации изображения выглядят следующим образом:

enter image description here

Я использую Cats-vs.-Dogs набор данных, и я загружаю его, используя следующий листинг кода:

train_ds, validation_ds = tfds.load(
    'cats_vs_dogs',
    split=['train[:85%]', 'train[85%:]'],
    as_supervised=True
)

После этого я создаю служебную функцию для применения модуля стилизации к данному изображению, и я отображаю эту служебную программу следующим образом -

train_ds = (
    train_ds
    .map(preprocess_image, num_parallel_calls=AUTO)
    .shuffle(1024)
    .map(apply_random_stylization, num_parallel_calls=AUTO)
    .batch(BATCH_SIZE)
    .prefetch(AUTO)
)

apply_random_stylization определяется как -

def apply_random_stylization(image, label):
    image = random_apply(stylize_image, image, p=0.8)
    return (image, label)

def random_apply(func, x, p):
        return tf.cond(
          tf.less(tf.random.uniform([], minval=0, maxval=1, dtype=tf.float32),
                  tf.cast(p, tf.float32)),
          lambda: func(x),
          lambda: x)

def stylize_image(image):
    stylized_image = HUB_MODULE(tf.expand_dims(image, 0), tf.constant(STYLE_IMG))[0]
    stylized_image = tf.squeeze(stylized_image)
    return tf.clip_by_value(stylized_image, 0., 1.)

Вот Colab Gist , воспроизводящий эту проблему.

Любая помощь приветствуется. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...