近日在搞wavenet,期间遇到了一维卷积,在这里对一维卷积以及其pytorch中的API进行总结,方便下次使用
之前对二维卷积是比较熟悉的,在初次接触一维卷积的时候,我以为是一个一维的卷积核在一条线上做卷积,但是这种理解是错的,一维卷积不代表卷积核只有一维,也不代表被卷积的feature也是一维。一维的意思是说卷积的方向是一维的。
下边首先看一个简单的一维卷积的例子(batchsize是1,也只有一个kernel):
输入:
一个长度为35的序列,序列中的每个元素有256维特征,故输入可以看作(35,256)
卷积核: size = (k,) , (k = 2)
这幅图只说明了只有一个数据的情况,如果将数据打包成batch,可以用代码表示如下:
from torch.autograd import Variable
conv1 = nn<