Горячее кодирование для встроенного вектора - BigGAN - PullRequest
0 голосов
/ 07 января 2020

Я пытаюсь воспроизвести архитектуру BigGAN в Tensorflow https://arxiv.org/pdf/1809.11096.pdf, но не понимаю точной природы входных данных. Генератор BigGAN имеет 2 входа, шум z, который представляет собой вектор [batch size, 120] элементов, взятых из нормального распределения, и вектор Embedded(y), имеющий размер [batch size,128], где y - вектор меток классов. BigGAN architecture 128x128 Глядя на tfhub https://tfhub.dev/deepmind/biggan-128/2 пример кода

# Load BigGAN 128 module.
module = hub.Module('https://tfhub.dev/deepmind/biggan-128/2')

# Sample random noise (z) and ImageNet label (y) inputs.
batch_size = 8
truncation = 0.5  # scalar truncation value in [0.02, 1.0]
z = truncation * tf.random.truncated_normal([batch_size, 120])  # noise sample
y_index = tf.random.uniform([batch_size], maxval=1000, dtype=tf.int32)
y = tf.one_hot(y_index, 1000)  # one-hot ImageNet label

# Call BigGAN on a dict of the inputs to generate a batch of images with shape
# [8, 128, 128, 3] and range [-1, 1].
samples = module(dict(y=y, z=z, truncation=truncation))

я понимаю, что y - это горячая форма и Embedded(y) является отображением этих меток классов.

...