Как ввести 5D-тензор в keras model.fit - PullRequest
0 голосов
/ 31 января 2020

Я использую tenorflow ver 2, tenorflow.keras.

Модель, которую я сделал, имеет последовательность tf.keras.Conv2D (для которой требуется входной тензор 4D (сэмплы, строки, столбцы, каналы) *

, а затем tf.keras.convLSTM2D (который требует входной тензор 5D ( сэмплы, время, строки, столбцы, каналы).

По этой причине я сделал ввод с 5D-тензором (сэмплы, время, строки, столбцы, каналы), но его нельзя передать в tf. keras.Conv2D в начале, когда я реализую model.fit(train_data, train_data... )

Есть ли способ заставить model.fit взять 5D-тензор?

1 Ответ

2 голосов
/ 31 января 2020

Вам необходимо реализовать TimeDistributed conv2D как в:

x_conv = tf.keras.layers.TimeDistributed(tf.keras.layers.Conv2D(filters=filters,
                                                                kernel_size=kernel_size,
                                                                strides=strides,
                                                                padding='same',
                                                                kernel_initializer='he_normal'))(x)

Таким образом, слои понимают, что вы вводите 4D через timestep

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