LSTM负荷预测pytorch实现版本
作者:互联网
LSTM pytorch官网api
我们首先看一下参数:
LSTM的两个常见的应用场景为文本处理和时序预测,因此下面对一些参数我都会从这两个方面来进行具体解释。
- input_size:
- 在文本处理中,由于一个单词没法参与运算,因此我们得通过Word2Vec来对单词进行嵌入表示,将每一个单词表示成一个向量,此时input_size=embedding_size。比如每个句子中有五个单词,每个单词用一个100维向量来表示,那么这里input_size=100;
- 在时间序列预测中,比如需要预测负荷,每一个负荷都是一个单独的值,都可以直接参与运算,因此并不需要将每一个负荷表示成一个向量,此时input_size=1。 但如果我们使用多变量进行预测,比如我们利用前24小时每一时刻的[负荷、风速、温度、压强、湿度、天气、节假日信息]来预测下一时刻的负荷,那么此时input_size=7。
- batch_first:默认为False,由于大家普遍使用PyTorch的DataLoader来形成批量数据,因此batch_first也比较重要。
我们再看一下LSTM的输入,
可以看到,输入由两部分组成:input、(初始的隐状态h_0,初始的单元内部状态c_0)
input(seq_len, batch_size, input_size)
- seq_len:
- 在文本处理中,如果一个句子有7个单词,则seq_len=7;
- 在时间序列预测中,假设我们用前24个小时的负荷来预测下一时刻负荷,则seq_len=24。
- batch_size:一次性输入LSTM中的样本个数。在文本处理中,可以一次性输入很多个句子;在时间序列预测中,也可以一次性输入很多条数据。
h_0(num_directions * num_layers, batch_size, hidden_size) c_0(num_directions * num_layers, batch_size, hidden_size)
h_0和c_0的shape一致。
标签:负荷,batch,单词,pytorch,input,LSTM,size 来源: https://www.cnblogs.com/zjuhaohaoxuexi/p/16675957.html