经过前几节的的学习,想必大家对torch.nn
有了初步的了解。接下来,向大家介绍神经网络中的一种特殊的定义——卷积层!
任务描述
本关任务:
本关提供了一个Variable
类型的变量input
,按照要求创建一 Conv1d变量conv
,对input
应用卷积操作并赋值给变量 output
,并输出output
的大小。
相关知识
卷积的本质就是用卷积核的参数来提取原始数据的特征,通过矩阵点乘的运算,提取出和卷积核特征一致的值。
卷积层是用一个固定大小的矩形块去席卷原始数据,将原始数据分成一个个和卷积核大小相同的小块,然后将这些小块和卷积核相乘输出一个卷积值(注意这里是一个单独的值,不再是矩阵了)。
这里我们拿最常用的 conv1d举例说明卷积过程的计算。
conv1d
基本形式:
torch.nn.Conv1d (in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
用途:对输入样本应用一维卷积核
输入大小为(N,Cin,L)
输出(N,Cout,Lout)
out(Ni,Coutj)=bias(Coutj)+sum0lekleCin−1weight(Coutj