fchollet / deep-learning-with-python-notebooks

Jupyter notebooks for the code samples of the book "Deep Learning with Python"
MIT License
17.95k stars 8.48k forks source link

How can I save the model and load model properly? #234

Open blueworm-lee opened 3 months ago

blueworm-lee commented 3 months ago

` 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..

ifond commented 3 months ago

​ I have received your E-mail——Steven Lee