word2id问题
您好,为什么预测的的起始位置标志<SOS>使用的是pad的id 0 ?还有l2r、r2l标志使用的id 2和3,和一部分词的id重复吗?您的vocab_file里面有l2r、r2l标志吗?
还有在计算encoder input的时候,为什么要把所有的embedding再加一个值?这里remove的功能没看明白。 def transformer_prepare_encoder(inputs, hparams): """Prepare one shard of the model for the encoder. """ # Flatten inputs. ishape_static = inputs.shape.as_list() encoder_input = inputs encoder_padding = common_attention.embedding_to_padding(encoder_input) ignore_padding = common_attention.attention_bias_ignore_padding( encoder_padding) encoder_self_attention_bias = ignore_padding encoder_decoder_attention_bias = ignore_padding
##remove
emb_target_space = common_layers.embedding(
9, 32, ishape_static[-1], name="target_space_embedding")
emb_target_space = tf.reshape(emb_target_space, [1, 1, -1])
encoder_input += emb_target_space
if hparams.pos == "timing":
encoder_input = common_attention.add_timing_signal_1d(encoder_input)
return (encoder_input, encoder_self_attention_bias, encoder_decoder_attention_bias)
感谢!
在程序解码时,将