Quando bulding um CNN, eu estou recebendo reclamações de Keras que não fazem sentido para mim.

votos
9

Minha forma de entrada é suposto ser 100x100. Ela representa uma sentença. Cada palavra é um vector de dimensões 100 e há 100 palavras no máximo em uma frase.

Eu alimento oito frases ao CNN.I não tenho certeza se isso significa que minha forma de entrada deve ser 100x100x8 vez.

Em seguida, os seguintes linhas

Convolution2D(10, 3, 3, border_mode='same',
                       input_shape=(100, 100))

reclama:

Entrada 0 é incompatível com convolution2d_1 camada: esperado ndim = 4, encontrado ndim = 3

Isso não faz sentido para mim como a minha dimensão de entrada é 2. Eu posso passar por isso alterando input_shape a (100,100,8). Mas o esperado ndim = 4 bit simplesmente não faz sentido para mim.

Eu também não posso ver porque uma camada de convolução de 3x3 com 10 filtros não aceitar a entrada de 100x100.

Até eu conseguir através do reclama da ndim esperado = 4. Eu me deparo com problema na minha camada de activação. Não se queixa:

Não é possível aplicar softmax a um tensor que não é 2D ou 3D. Aqui, ndim = 4

Alguém pode explicar o que está acontecendo aqui e como corrigi-lo? Muito Obrigado.

Publicado 07/05/2016 em 06:13
fonte usuário
Em outras línguas...                            


2 respostas

votos
6

a dimensão em falta para camadas convolucionais 2D é a dimensão "canal".

Para os dados de imagem, a dimensão do canal é 1 para imagens a preto e 3 para as imagens de cor.

No seu caso, ter certeza de que Keras não vai reclamar, você poderia usar convolução 2D com 1 canal ou 1D convolução com 100 canais.

Ref: http://keras.io/layers/convolutional/#convolution2d

Respondeu 08/05/2016 em 05:50
fonte usuário

votos
6

Eu tive o mesmo problema e eu resolvi que a adição de uma dimensão para channela input_shapediscussão.

Sugiro seguinte solução:

Convolution2D(10, 3, 3, border_mode='same', input_shape=(100, 100, 1))
Respondeu 28/05/2017 em 07:39
fonte usuário

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