Маскирование в функциональном API со слоями conv1D и GRU - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь реализовать следующую модель нейронной сети. Мои входные данные дополняются нулями. Мне было интересно, как объявить заполнение модели, чтобы она маскировала нулевые значения во время тренировки. Ниже моя модель. Кроме того, я не уверен, должен ли мой отступ быть "причинным" для слоев конвоя. Я просмотрел документацию keras, но не смог понять, какие отступы должны применяться в моем случае. Я работаю с аудиоданными, преобразованными в MF CC с использованием python.

input_data = Input(name='the_input', shape = (400,13), dtype='float32')
inp = BatchNormalization(name="inp")(input_data)
conv1= Conv1D(filters=32, kernel_size = 4, padding='causal',activation='relu')(inp)
conv1 = BatchNormalization(name="conv1")(conv1)
conv2= Conv1D(filters=64, kernel_size = 4, strides=1,padding='causal',activation='relu')(conv1)
conv2 = BatchNormalization(name="conv2")(conv2)
conv3= Conv1D(filters=128, kernel_size = 4, strides=2,padding='causal',activation='relu')(conv2)
conv3 = BatchNormalization(name="conv3")(conv3)
gru_1 = GRU(128, return_sequences = True, go_backwards = True, name = 'gru_1')(conv3)
gru_2 = GRU(128, return_sequences = True, go_backwards = True, name = 'gru_2')(gru_1)
normalized = BatchNormalization(name="Normal")(gru_2)
dense = TimeDistributed(Dense(30))(normalized)
y_pred = TimeDistributed(Activation('softmax', name='softmax'))(dense)
Model(inputs = input_data, outputs = y_pred).summary()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...