Итак, я работаю над моделью CRNN.это модель для распознавания текста. Это ссылка, над которой я работаю.это код детали построения модели:
x_reshape = Reshape(target_shape=(int(bn_shape[1]), int(bn_shape[2] * bn_shape[3])))(batchnorm_7)
fc_1 = Dense(128, activation='relu')(x_reshape) # (?, 50, 128)
rnn_1 = LSTM(128, kernel_initializer="he_normal", return_sequences=True)(fc_1)
rnn_1b = LSTM(128, kernel_initializer="he_normal", go_backwards=True, return_sequences=True)(fc_1)
rnn1_merged = add([rnn_1, rnn_1b])
rnn_2 = LSTM(128, kernel_initializer="he_normal", return_sequences=True)(rnn1_merged)
rnn_2b = LSTM(128, kernel_initializer="he_normal", go_backwards=True, return_sequences=True)(rnn1_merged)
rnn2_merged = concatenate([rnn_2, rnn_2b])
drop_1 = Dropout(0.25)(rnn2_merged)
fc_2 = Dense(label_classes, kernel_initializer='he_normal', activation='softmax')(drop_1)
# model setting
base_model = Model(inputs=inputShape, outputs=fc_2) # the model for prediecting
(я не включил целое, поскольку я просто хочу дать представление о том, какова модель). Итак, в одной строке: rnn2_merged = concatenate([rnn_2, rnn_2b])
это объединение двухcell.
Мне было интересно, есть ли какой-нибудь альтернативный способ объединить их без использования Concatenate
в keras?
(У меня проблема с преобразованием этой модели в CoreML, этовыдает ошибку Only channel and sequence concatenation are supported.
в сцеплении, которое не поддерживается coreML. Вот почему я хотел реализовать его по-другому).
Я прочитал пару статей по этому поводу, например this .они объясняют, что в coreMl Concatenate можно выполнять только в заранее определенном измерении!
приветствуется любой ввод.