Я работаю над тем, чтобы понять реализацию 1002 * Эрика Линдера-Норена модели Категориальной GAN , и меня смущает генератор в этой модели:
def build_generator(self):
model = Sequential()
# ...some lines removed...
model.add(Dense(np.prod(self.img_shape), activation='tanh'))
model.add(Reshape(self.img_shape))
model.summary()
noise = Input(shape=(self.latent_dim,))
label = Input(shape=(1,), dtype='int32')
label_embedding = Flatten()(Embedding(self.num_classes, self.latent_dim)(label))
model_input = multiply([noise, label_embedding])
img = model(model_input)
return Model([noise, label], img)
Мой вопрос: какслой Embedding()
здесь работает?
Я знаю, что noise
- это вектор длиной 100, а label
- целое число, но я не понимаю, что содержит объект label_embedding
, иликак это работает здесь.
Я попытался напечатать форму label_embedding
, чтобы попытаться выяснить, что происходит в этой строке Embedding()
, но это возвращает (?,?)
.
Если бы кто-нибудь мог помочь мне понять, как здесь работают Embedding()
строки, я был бы очень благодарен за их помощь!