Как связать объединенный слой со сверточным слоем в keras - PullRequest
0 голосов
/ 08 июля 2020
• 1000 Я пробовал это между inputs и x, но это не сработало:
emb = Embedding(10,28)(label)
emb = Dense(28*28*1)(emb)
emb = Reshape((28,28,1))(emb)

, где это дает мне эту ошибку:

ValueError                                Traceback (most recent call last)
<ipython-input-25-67a74b70dd2b> in <module>()
      6 emb = Embedding(10,28)(label)
      7 upsample = Dense(28*28*1)(emb)
----> 8 upsample = Reshape((28,28,1))(upsample)
      9 
     10 inputs = concat([X, upsample])

3 frames
/usr/local/lib/python3.6/dist-packages/keras/layers/core.py in _fix_unknown_dimension(self, input_shape, output_shape)
    385             output_shape[unknown] = original // known
    386         elif original != known:
--> 387             raise ValueError(msg)
    388 
    389         return tuple(output_shape)

ValueError: total size of new array must be unchanged

Вот мой фрагмент кода кодировщика :

#Encoder

X = Input(shape=(28, 28, 1))
label = Input(shape=(10,))

inputs = concat([X, label])

x = Conv2D(32, 3, activation="relu", strides=2, padding="same")(inputs)
x = Conv2D(64, 3, activation="relu", strides=2, padding="same")(x)
x = Flatten()(x)
x = Dense(16, activation="relu")(x)
mu = Dense(n_z, name="mu")(x)
l_sigma = layers.Dense(n_z, name="l_sigma")(x)
z = sample_z()([mu, l_sigma])
encoder = Model(inputs, [mu, l_sigma, z], name="encoder")
encoder.summary()

Итак, что мне попробовать, чтобы это исправить?

...