impressão gráfico Théano em Keras

votos
1

Existe uma maneira para imprimir a representação gráfica Theano de um modelo seqüencial em Keras?

Dado um modelo simples como isto:

model = Sequential()

model.add(Dense(input_dim=100,
                output_dim=50,
                W_regularizer=l2(0.0001),
                init='he_normal',
                activation='tanh'))

model.add(Dense(input_dim=50,
                output_dim=1,
                W_regularizer=l2(0.0001),
                init='he_normal',
                activation='sigmoid'))

sgd = SGD(lr=0.01, decay=1e-7, momentum=.9)
model.compile(loss='binary_crossentropy', optimizer=sgd, metrics=[accuracy])

I deseja executar:

theano.printing.debugprint(model)

Para me dar algo como isto (retirado Theano tutorial):

Elemwise{mul,no_inplace} [id A] ''
 |TensorConstant{2.0} [id B]
 |x [id C]

Estou esperando para obter o gráfico para ajudar a entender a saída de Theano profiler.

Keras versão 1.0, Theano versão 0.8.1.

Publicado 26/04/2016 em 11:46
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

No caso de alguém quiser fazer algo semelhante, aqui é uma abordagem que eu descobri.

import theano
for i in model.layers:
    theano.printing.debugprint(i.input)
    theano.printing.debugprint(i.output)

Ele lhe dará:

dense_input_2 [id A]
Elemwise{tanh,no_inplace} [id A] ''   
 |Elemwise{add,no_inplace} [id B] ''   
   |dot [id C] ''   
   | |dense_input_2 [id D]
   | |dense_4_W [id E]
   |DimShuffle{x,0} [id F] ''   
     |dense_4_b [id G]
Elemwise{tanh,no_inplace} [id A] ''   
 |Elemwise{add,no_inplace} [id B] ''   
   |dot [id C] ''   
   | |dense_input_2 [id D]
   | |dense_4_W [id E]
   |DimShuffle{x,0} [id F] ''   
     |dense_4_b [id G]
sigmoid [id A] ''   
 |Elemwise{add,no_inplace} [id B] ''   
   |dot [id C] ''   
   | |Elemwise{tanh,no_inplace} [id D] ''   
   | | |Elemwise{add,no_inplace} [id E] ''   
   | |   |dot [id F] ''   
   | |   | |dense_input_2 [id G]
   | |   | |dense_4_W [id H]
   | |   |DimShuffle{x,0} [id I] ''   
   | |     |dense_4_b [id J]
   | |dense_5_W [id K]
   |DimShuffle{x,0} [id L] ''   
     |dense_5_b [id M]
Respondeu 28/04/2016 em 11:37
fonte usuário

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