1D CNN em Keras: Achatamento de características reunidas a camada densa aumenta ValueError

votos
0

Eu tenho o seguinte modelo CNN definido. ele está à espera de uma entrada de sinal vectorial 1D de comprimento 501.

model = ml.models.Sequential()
model.add(ml.layers.Conv1D(filters=NUMBER_OF_FILTERS, kernel_size=KERNEL_SIZE, activation=ACTIVATION, input_shape=(None, 501)))
model.add(ml.layers.MaxPooling1D(pool_size=POOL_SIZE, padding='valid'))
model.add(ml.layers.Flatten())
model.add(ml.layers.Dense(HIDDEN_SIZE-1, activation=ACTIVATION))

No entanto, isso levanta um erro de valor:

ValueError: The last dimension of the inputs to `Dense` should be defined. Found `None`.

Eu não sou certo porque Flatten não está criando uma forma de algo como (None, x), mas em vez disso (None, None). O que parece ser o problema aqui?

Este é o resumo do modelo:

Model: sequential
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv1d (Conv1D)              (None, None, 50)          250550    
_________________________________________________________________
max_pooling1d (MaxPooling1D) (None, None, 50)          0         
_________________________________________________________________
flatten (Flatten)            (None, None)              0         
=================================================================
Total params: 250,550
Trainable params: 250,550
Non-trainable params: 0
_________________________________________________________________
Publicado 24/10/2019 em 12:58
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more