Керас Флаттен дает неправильную форму вывода - PullRequest
0 голосов
/ 08 марта 2019

Я использую слой keras Flatten () после выпадающего слоя, чья выходная форма (?, 35,50). Вывод Flatten () равен (?,?), Тогда как должен быть (?, 35 * 50).

Фрагмент кода -

y2=MyLayer((35,50))(y1)
y2=BatchNormalization()(y2)
y2=Dropout(0.5)(y2)  

y3=Flatten()(y2)

y4=Dense(32)(y2)

Размер вывода выпадающего слоя -

tf.Tensor 'dropout_22 / cond / Merge: 0' shape = (?, 35, 50) dtype = float32

А у ровного слоя

tf.Tensor 'flatten_7 / Reshape: 0' shape = (?,?) Dtype = float32

Пожалуйста, подскажите, что не так.

1 Ответ

0 голосов
/ 08 марта 2019

«Мой слой» - это, вероятно, проблема, которую вы должны проверить.При воспроизведении без него:

from keras.layers import Input, Flatten
from keras.models import Model

input = Input((35, 50))
output = Flatten()(input)

model = Model(input, output)
model.summary()

Вы получите

flatten_1 (Flatten) (None, 1750)

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