fchollet / deep-learning-with-python-notebooks

Jupyter notebooks for the code samples of the book "Deep Learning with Python"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How can I save the model and load model properly?

blueworm-lee opened this issue · comments

`
encoder_inputs = keras.layers.Input(shape=(None,), dtype='int64', name='english')
encoder_embed_outs = PositionalEmbedding(SEQ_LEN, MAX_VOCAB, EMBED_DIM)(encoder_inputs)
encoder_transformer_outs = TransformerEncoder(num_heads=8, embed_dim=EMBED_DIM, dense_dim=2048)(encoder_embed_outs)

#encoder_transformer_outs == (None, 80, 256)
decoder_inputs = keras.layers.Input(shape=(None,), dtype='int64', name='spanish')

decoder_embed_outs = PositionalEmbedding(SEQ_LEN, MAX_VOCAB, EMBED_DIM)(decoder_inputs)
#decoder_embed_outs == (None, 80, 256)

decoder_transformer_outs = TransformerDecoder(num_heads=8, embed_dim=EMBED_DIM, dense_dim=2048)(decoder_embed_outs, encoder_transformer_outs)
decoder_dropout_outs = keras.layers.Dropout(0.5)(decoder_transformer_outs)

decoder_outputs = keras.layers.Dense(MAX_VOCAB, activation='softmax')(decoder_dropout_outs)

transformer_model = keras.Model(inputs=[encoder_inputs, decoder_inputs], outputs=decoder_outputs)
transformer_model.summary()

after model.fit,
transformer_model.save('model/eng_spa_transformer') new_model = keras.models.load_model('model/eng_spa_transformer', custom_objects={'TransformerDecoder': TransformerDecoder, 'TransformerEncoder':TransformerEncoder, 'PositionalEmbedding':PositionalEmbedding.from_config(config)})

However, new_model is loaded however, not predicts well..
I think the problem is that the asserts file in saved directory is empty..