Machine learning PyTorch的nn.Transformer中src和tgt之间的区别是什么?

Machine learning PyTorch的nn.Transformer中src和tgt之间的区别是什么?,machine-learning,neural-network,pytorch,Machine Learning,Neural Network,Pytorch,从文档中可以看出,要创建这样的变压器模型: transformer_model = nn.Transformer(nhead=16, num_encoder_layers=12) src = torch.rand((10, 32, 512)) tgt = torch.rand((20, 32, 512)) # What is tgt?? out = transformer_model(src, tgt) tgt意味着什么?tgt是否应与src相同?变压器结构由两部分组成,编码器和解码器。sr

从文档中可以看出,要创建这样的变压器模型:

transformer_model = nn.Transformer(nhead=16, num_encoder_layers=12)
src = torch.rand((10, 32, 512))
tgt = torch.rand((20, 32, 512)) # What is tgt??
out = transformer_model(src, tgt) 

tgt意味着什么?tgt是否应与src相同?

变压器结构由两部分组成,编码器和解码器。src是编码器的输入,tgt是解码器的输入


例如,执行将英语句子翻译为法语的机器翻译任务时,src是英语序列ID,tgt是法语序列ID。

但是如果我已经知道法语句子是什么,为什么我要使用转换器?我只想做transformer_模型([“Some”,“句子”,“here”]),它输出另一个[0.123,0.239,0.189]序列,例如法语输出。我需要的法语序列是什么?如果我已经知道法语序列,为什么我首先需要变压器。你需要法语句子来训练模型。在推理步骤中,你不懂法语,所以英语句子被发送到编码器,然后首先输入到解码器,模型预测第一个法语单词。然后在第二个推理步骤中,你输入它,得到第二个法语单词w2,依此类推。。。。直到获得或达到所需的最大序列长度。如果你没有读过,强烈推荐。