Keras ile Machine Translation
Thushan Ganegedara
Data Scientist and Author



Girdiler
Çıktılar
Tahmin edilen kelimeyi ve durumu yinelemeli olarak yeniden girdiler olarak verin



sos, çevirinin başlangıcını işaretler (örn. Fransızca cümle).
sos verin ve tahmin etmeye devam edineos, çevirinin sonunu işaretler.
eos sözcüğünü tahmin ettiğinde dururGüvenlik için modelin tahmin edebileceği bir azami uzunluk kullanın
Katmanları ve Model'i içe aktarma
# Import Keras layers
import tensorflow.keras.layers as layers
from tensorflow.keras.models import Model
Model katmanlarını tanımlama
en_inputs = layers.Input(shape=(en_len,en_vocab))
en_gru = layers.GRU(hsize, return_state=True)
en_out, en_state = en_gru(en_inputs)
Model nesnesini tanımlama
encoder = Model(inputs=en_inputs, outputs=en_state)
Input katmanlarını tanımlamade_inputs = layers.Input(shape=(1, fr_vocab))
de_state_in = layers.Input(shape=(hsize,))
layers katmanlarını tanımlamade_gru = layers.GRU(hsize, return_state=True) de_out, de_state_out = de_gru(de_inputs, initial_state=de_state_in)de_dense = layers.Dense(fr_vocab, activation='softmax') de_pred = de_dense(de_out)
Modelini tanımlamadecoder = Model(inputs=[de_inputs, de_state_in], outputs=[de_pred, de_state_out])
l1 katmanının ağırlıklarını alınw = l1.get_weights()l2 katmanının ağırlıklarını w ile ayarlayınl2.set_weights(w)GRU, Kod çözücü GRU ve Kod çözücü Denseen_gru_w = tr_en_gru.get_weights()
en_gru.set_weights(en_gru_w)
Şu şekilde de yazılabilir:
en_gru.set_weights(tr_en_gru.get_weights())
en_sent = ['the united states is sometimes chilly during
december , but it is sometimes freezing in june .']
en_seq = sents2seqs('source', en_st, onehot=True, reverse=True)
de_s_t = encoder.predict(en_seq)
de_seq = word2onehot(fr_tok, 'sos', fr_vocab)
fr_sent = ''for _ in range(fr_len): de_prob, de_s_t = decoder.predict([de_seq,de_s_t])de_w = probs2word(de_prob, fr_tok)de_seq = word2onehot(fr_tok, de_w, fr_vocab)if de_w == 'eos': break fr_sent += de_w + ' '
Keras ile Machine Translation