Como configuração do modelo Keras corretamente?

votos
3

Eu estou lutando com a construção de modelo no Keras. Eu quero passar todos os meus recursos como input=10, e output=3. No entanto, uma vez que eu executar o código abaixo

def build_model(input_dim, output_classes):
    print 'Creating model ...', time.time() - start, mprof.memory_usage()
    model = Sequential()
    model.add(Dense(input_dim=input_dim, output_dim=8, activation=relu))
    model.add(Dropout(0.5))
    model.add(Dense(input_dim=8, output_dim=6, activation=relu))
    model.add(Dropout(0.5))
    model.add(Dense(output_dim=output_classes, activation='softmax'))
    model.compile(loss='categorical_crossentropy', optimizer='adadelta')

Eu tenho um erro:

ValueError: ('shapes (35,9) and (10,8) not aligned: 9 (dim 1) != 10 (dim 0)', (35L, 9L), (10L, 8L))
Apply node that caused the error: Dot22(<TensorType(float32, matrix)>, <TensorType(float32, matrix)>)
Inputs types: [TensorType(float32, matrix), TensorType(float32, matrix)]
Inputs shapes: [(35L, 9L), (10L, 8L)]
Inputs strides: [(36L, 4L), (32L, 4L)]
Inputs values: ['not shown', 'not shown']

Quais são os parâmetros corretos para inicialização do modelo no meu caso?

Publicado 01/02/2016 em 05:41
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Copiei o seu código e executado sem erros. (Apenas comentou a impressão que eu estou usando Python 3)

I definir input_dim = 10 e output_classes = 3, não há problemas.

Pode ser o seu está passando um valor não inteiro para output_classes, se for esse o caso, uma série de erros são possíveis, dependendo do tipo de objeto passado.

Respondeu 16/02/2017 em 16:03
fonte usuário

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