Как создать функциональный слой CONV1D в керасе? - PullRequest
0 голосов
/ 10 июля 2019

Итак, я пытаюсь построить сеть cnn.У меня есть одно горячее закодированное "scipy.sparse.coo.coo_matrix" размера "(109248, 101)".Мне нужно построить двухслойную модель conv1D с данными данными и объединить ее с другим слоем LSTM для дальнейшей обработки. Я не получаю участие в создании слоев conv1D. Любая помощь будет принята с благодарностью ....

IЯ пробовал документацию, используя следующий способ построения сети. Также я пробовал функциональный способ построения сети, но кажется, что я делаю это неправильно

Итак, я попробовал это:

from keras.layers import Conv1D


# input_tensor = Input(shape=(None, 101))

model = Sequential()
model.add(Conv1D(input_shape=(101, 1),
                 filters=16,
                 kernel_size=4,
                 padding='same'))

model.add(Conv1D(filters=16, kernel_size=4))
model.add(Flatten())

и This

x_rest = Conv1D(input_shape=(101,1), filters=16, kernel_size=4, padding='same')

x2 = Conv1D(input_shape=(101,1), filters=16, kernel_size=4, padding='same')(x_rest)



out2 = Flatten()(x2)

Любой из них, похоже, не работает

Всегда возникает ошибка, как

Был вызван слой concatenate_4с вводом, который не является символическим тензором.Полученный тип:.Полный ввод: [,].Все входные данные для слоя должны быть тензорами.

Это архитектура, которую я пытаюсь построить

Layer (type)                    Output Shape         Param #     Connected to                     
==================================================================================================
main_input (InputLayer)         (None, 150)          0                                            
__________________________________________________________________________________________________
rest_input (InputLayer)         (None, 101, 1)       0                                            
__________________________________________________________________________________________________
embedding_3 (Embedding)         (None, 150, 300)     16873200    main_input[0][0]                 
__________________________________________________________________________________________________
conv1d_24 (Conv1D)              (None, 99, 64)       256         rest_input[0][0]                 
__________________________________________________________________________________________________
lstm_3 (LSTM)                   (None, 150, 32)      42624       embedding_3[0][0]                
__________________________________________________________________________________________________
conv1d_25 (Conv1D)              (None, 97, 64)       12352       conv1d_24[0][0]                  
__________________________________________________________________________________________________
flatten_5 (Flatten)             (None, 4800)         0           lstm_3[0][0]                     
__________________________________________________________________________________________________
flatten_7 (Flatten)             (None, 6208)         0           conv1d_25[0][0]                  
__________________________________________________________________________________________________
concatenate_3 (Concatenate)     (None, 11008)        0           flatten_5[0][0]                  
                                                                 flatten_7[0][0]                  
__________________________________________________________________________________________________
dense_7 (Dense)                 (None, 1)            11009       concatenate_3[0][0]              
__________________________________________________________________________________________________
dropout_3 (Dropout)             (None, 1)            0           dense_7[0][0]                    
__________________________________________________________________________________________________
dense_8 (Dense)                 (None, 1)            2           dropout_3[0][0]                  
__________________________________________________________________________________________________
dense_9 (Dense)                 (None, 1)            2           dense_8[0][0]                    
__________________________________________________________________________________________________
main_output (Dense)             (None, 1)            2           dense_9[0][0]                    
==================================================================================================

1 Ответ

0 голосов
/ 10 июля 2019

Первая версия вашего кода работает.Вот модель, которую он строит:

model.summary()

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv1d_3 (Conv1D)            (None, 101, 16)           80        
_________________________________________________________________
conv1d_4 (Conv1D)            (None, 98, 16)            1040      
_________________________________________________________________
flatten_1 (Flatten)          (None, 1568)              0         
=================================================================
Total params: 1,120
Trainable params: 1,120
Non-trainable params: 0
_________________________________________________________________

Кажется, что проблема связана со слоем LSTM, который вы хотите использовать следующим (хотя я не могу вам помочь, поскольку вы не предоставили эту часть кода).Вы можете найти решение здесь .

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