![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
时间序列
文章平均质量分 70
时间序列
JasmineFeng
这个作者很懒,什么都没留下…
展开
-
常规卷积与因果卷积的区别详解
文章目录0、前言1、一般卷积2、因果卷积3、因果卷积的PyTorch实现0、前言今天学习因果卷积(WaveNet与TCN中的),看源代码的时候遇到了一些问题,比如为什么要Chomp1d?按我的理解吧,如果padding数目为(k−1)×d/2(k-1)\times d/2(k−1)×d/2(kkk表示卷积核尺寸kernel_size,ddd表示膨胀因子dilation_factor),那么按照公式卷积层输入和输出的长度就是不变的啊!为啥还要chomp呢?对了,顺便把源码也贴一下(链接至GitHub原创 2021-06-07 19:16:48 · 10336 阅读 · 11 评论 -
神经网络训练不稳定问题(loss和accuracy波动大)的一种原因及解决方案
用LSTM做时间序列预测时发现训练刚开始时loss(MSE)下降很快,accuracy(调整R方)上升也很快,但到后面loss总体上下降变慢,并且时有波动,accuracy甚至会经常出现负值,然后又回弹至正值。经查阅资料和反复调试,发现是batch size太小的问题,原来的batch size是2,现在改成4batch size为2时loss的变化如下batch size 为4时loss的变化如下,虽然也有波动,比如在910epoch左右loss冲到了0.06,但总体上比batch size稳定原创 2021-01-30 12:27:29 · 26677 阅读 · 8 评论 -
循环神经网络--SimpleRNN与PyTorch实现
PyTorch中用于SimpleRNN的方法主要是nn.RNN及nn.RNNCell。两者的区别是前者输入一个序列,而后者输入单个时间步,必须我们手动完成时间步之间的操作。前者比较简单,为了能更深入地了解SimpleRNN的运作过程,我决定用两种方法都呈现一下。———————————————————————————————————————from torch import nnnn.RNNCell(input_size: int, hidden_size: int, bias: bool = Tru原创 2020-12-06 14:24:11 · 1573 阅读 · 8 评论 -
循环神经网络--LSTM与PyTorch实现(前馈)
承接上篇SimpleRNN, PyTorch中对于LSTM也有两个方法,即nn.LSTM和nn.LSTMCell。同样地,我们用两种方法来做一个简单例子的前馈。先来看LSTMCell,实例化用到的参数如下:from torch import nntorch.nn.LSTMCell(input_size: int, hidden_size: int, bias: bool = True)下面是官方文档中对于公式的说明以及参数的说明。请注意:实例化后的LSTM(或LSTMCell)对象,其权重是i原创 2020-12-06 21:19:17 · 1636 阅读 · 0 评论