Deep learning 如何在批处理中不混合项目元素的情况下重塑pytorch矩阵

Deep learning 如何在批处理中不混合项目元素的情况下重塑pytorch矩阵,deep-learning,pytorch,Deep Learning,Pytorch,在我的神经网络模型中,我用8x256维嵌入矩阵表示一个8字句子。我想把它作为一个LSTM的输入,LSTM每次只嵌入一个单词作为输入并处理它。根据pytorch,输入应为(顺序、批次、输入大小)。将输入转换为所需形状的正确方法是什么?我不想把数字弄错了。我对PyTorch和row的主要计算非常陌生,因此我想在这里问一下。我是这样做的,对吗 x = torch.rand(8,256) lstm_input = torch.reshape(x,(8,1,256)) 您的解决方案是正确的:您为“批处理

在我的神经网络模型中,我用
8x256
维嵌入矩阵表示一个8字句子。我想把它作为一个LSTM的输入,LSTM每次只嵌入一个单词作为输入并处理它。根据pytorch,输入应为
(顺序、批次、输入大小)
。将输入转换为所需形状的正确方法是什么?我不想把数字弄错了。我对PyTorch和row的主要计算非常陌生,因此我想在这里问一下。我是这样做的,对吗

x = torch.rand(8,256)
lstm_input = torch.reshape(x,(8,1,256))

您的解决方案是正确的:您为“批处理”维度添加了一个单例维度,将
x
保留为时间维度8和输入维度256

由于您是pytorch的新手,这里有一些做同样事情的等效方法:

x = x[:, None, :]
None
放入dim=1表示pytorch添加单个维度。
另一种方法是使用
查看

x = x.view(8, 1, 256)