Deep learning PyTorch中的列车时间序列

Deep learning PyTorch中的列车时间序列,deep-learning,pytorch,Deep Learning,Pytorch,我希望训练一个RNN模型,这样我可以预测时间序列模型中的T步。到目前为止,我看到的大多数例子都是围绕文本展开的 我的玩具示例是预测3个正弦波,如下所示: x=torch.arange(0,30,0.05) y=[torch.sin(x),torch.sin(x-np.pi),torch.sin(x-np.pi/2)] y=火炬堆(y) y=y.t() y的形状为600,3。然而,为了让LSTM接受它,输入需要是形状(顺序、批次、输入大小)。我想知道pytorch中是否有一个函数可以将它们转换为

我希望训练一个RNN模型,这样我可以预测时间序列模型中的T步。到目前为止,我看到的大多数例子都是围绕文本展开的

我的玩具示例是预测3个正弦波,如下所示:

x=torch.arange(0,30,0.05)
y=[torch.sin(x),torch.sin(x-np.pi),torch.sin(x-np.pi/2)]
y=火炬堆(y)
y=y.t()
y的形状为
600,3
。然而,为了让LSTM接受它,输入需要是形状
(顺序、批次、输入大小)
。我想知道pytorch中是否有一个函数可以将它们转换为所需的格式。假设在我的例子中,我想要
seq_len=50
batch_size=32

这段代码是我找到的唯一一段代码

#将值数组转换为数据集矩阵
def create_数据集(数据集,回望=1):
dataX,dataY=[],[]
对于范围内的i(len(数据集)-向后看-1):
a=数据集[i:(i+回顾),0]
dataX.append(a)
追加(数据集[i+回望,0])
返回numpy.array(dataX),numpy.array(dataY)
pytorch中的
pad_packed_sequence
或任何类似程序是否本机执行此操作

如果有人感兴趣,这是我的LSTM模型:

类LSTM(nn.模块):
def uuu init uuuu(self,n_特征,h,num_层=2):
super()。\uuuu init\uuuuu()
self.lstm=nn.lstm(n个要素、h、num个图层)
自线性=nn线性(h,n_特征)
def前进(自身,输入,h=无):
lstm_out,self.hidden=self.lstm(输入,h)
返回自线性(lstm_out)
[可选问题]对于我最终得到的任何解决方案,是否有办法确保我能够进行有状态的培训