lstm timestep一般是多少_请问rnn和lstm中batchsize和timestep的区别是什么?

图说起来可能更直观些:

Tensor是一个高维数组,每单一个样本是一个Input_Size*Time_Step的二维矩阵,其中Input_Size 代表观察的特征数量,比如我需要用电池的电压电流和温度来预测SoC,此时Input_Size为3 。 Time_Step代表窗口的宽度。 而Batch_Size借评论里@ViVi 的话说,“就是表示有batch_size个这样的二维矩阵送入网络中训练“。

以及,附送一个随机抽取batch的小方法:

笔芯

以下为原答,年轻人还是轻狂。。。

##################################################################

愚以为,在上各位答主, 说的都不对。。。

理论上没问题, 但是实际在设置RNN的时候, 如果这么理解的话估计训到明年也训不出。

一般在给训练集的时候都会用的Dataloader, 此时就已经涉及到了一次BATCH_SIZE。再以pytorch为例, 在定义torch.nn.RNN()的时候,根据问题种类不同batch 和time_seq的含义不同:图片分类:Dataloader 里的BS表示一次给几张图片。RNN的batch和time_seq分别为图片像素的长宽。 此时不需要特别区分。

语句预测:BS指一次给几段话, 而此时time_seq代表了把一段话分成几句,batch表示每句话里有多少个字。

时间预测:这个就非常关键了。 BS表示一次给多长时间的数据量, time_seq代表把这段时间再划分为几小段时间,而 batch 则是每小段时间里有多少数据量。 而RNN展开的时间长度其实是batch的值。

我之前做时间预测的时候,BS设为100,且希望RNN展开100步。 参照其他答主的回答, 把time_seq设为了100,然后在迷途中游荡了半个月,train的时候误差e-3量级,一test压根不拟合。直到在github上看了语句预测的例子,才发现概念完全弄反了。

以上。如有指正欢迎赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值