6
PyTorch-contiguous()
我正在通过github (link)上的LSTM语言模型示例进行研究。对我来说,它的一般功能非常清楚。但是我仍在努力理解调用的contiguous()作用,这在代码中多次发生。 例如,在代码的第74/75行中,创建了LSTM的输入和目标序列。数据(存储在中ids)为二维,其中第一维为批处理大小。 for i in range(0, ids.size(1) - seq_length, seq_length): # Get batch inputs and targets inputs = Variable(ids[:, i:i+seq_length]) targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()) 举一个简单的例子,当使用批处理大小1和seq_length10时inputs,targets如下所示: inputs Variable containing: 0 1 2 3 4 5 6 7 8 9 [torch.LongTensor of size 1x10] targets Variable containing: 1 2 3 4 …