У меня проблема с реализацией функции свертки с комплексом Кераса, которая была разработана Джеспером Драмшем и его группой следующим образом: https://github.com/JesperDramsch/keras-complex. Он предложил начальную настройку и как использовать модель, но очень ограниченную инструкцию. Кто-нибудь сталкивался с использованием этой функции свертки для комплексных входных данных от тенора потока Кераса? Пожалуйста, поделитесь примером, который я знаю, как его использовать?
Часть моего кода выглядит следующим образом:
visible = Input(shape=(class_in,feature_num,1))
conv1 = ComplexConv2D(32, kernel_size=(3,3),
activation='relu',padding='same',data_format='channels_last')(visible)
pool1 = MaxPooling2D(pool_size=(2, 2))(conv1)
conv2 = ComplexConv2D(64, kernel_size=(3,3),
activation='relu',padding='same',data_format='channels_last')(pool1)
pool2 = MaxPooling2D(pool_size=(2,2))(conv2)
flat = Flatten()(pool2)
hidden1 = Dense(128, activation='relu')(flat)
output = Dense(1, activation='sigmoid')(hidden1)
model = Model(inputs=visible, outputs=output)
Краткая инструкция показывает, что мы можем использовать ComplexConv2D так же, как Conv2D, как follow: https://keras-complex.readthedocs.io/api/complexnn.conv.html Однако, я всегда получаю ошибку, так как
Вход 0 несовместим со слоем complex_conv2d_1: ожидаемая ось -1 входной формы будет иметь значение 0, но получила форму ( Ни один, 32, 32, 1)
Пожалуйста, помогите мне с этим.