问题描述
我使用 TensorFlow 函数式 API 创建了一个语言翻译模型。
这是我用过的编码器-解码器模型。
# encoder
encoder = tf.keras.Input(shape=(None,))
enc_embd = tf.keras.layers.Embedding(vocab_train,embedding_dim)(encoder)
encoder_gru = tf.keras.layers.GRU(units,return_sequences=True,return_state=True,kernel_regularizer=tf.keras.regularizers.L2(0.001))
output_e,hidden_e = encoder_gru(enc_embd)
# decoder
decoder = tf.keras.Input(shape=(None,))
dec_embd = tf.keras.layers.Embedding(vocab_label,embedding_dim)(decoder)
decoder_gru = tf.keras.layers.GRU(units,kernel_regularizer=tf.keras.regularizers.L2(0.001))
output_d,hidden_d = decoder_gru(dec_embd,initial_state = hidden_e)
final_output = tf.keras.layers.Dense(vocab_label,activation='softmax',kernel_regularizer=tf.keras.regularizers.L2(0.001))
output_f = final_output(output_d)
为了一一翻译单词,我自定义了预测模型。
# customize for prediction
encoder_model = tf.keras.Model(encoder,hidden_e)
state = tf.keras.Input(shape=(None,))
output,hidden_dest = decoder_gru(dec_embd,initial_state = state)
output_result = final_output(output)
decoder_model = tf.keras.Model([decoder,state],[hidden_dest,output_result])
在训练期间,TensorFlow 准确度指标显示准确度有所增加,但预测不准确。这是完整的代码,我已经注释掉了每一行,以便您轻松理解。请看一下。
https://www.kaggle.com/devanshusingh/tensorflow
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)