torch.nn

torch.nn

1.卷积 Conv

1.1torch.nn.Conv1d

​ 一维卷积nn.Conv1d用于文本数据,只对宽度进行卷积,对高度不卷积 。通常,输入大小为word_embedding_dim * max_length,其中,word_embedding_dim为词向量的维度,max_length为句子的最大长度。卷积核窗口在句子长度的方向上滑动,进行卷积操作。

定义:

class torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)

​ 主要参数说明:

in_channels:在文本应用中,即为词向量的维度
out_channels:卷积产生的通道数,有多少个out_channels,就需要多少个一维卷积(也就是卷积核的数量)
kernel_size:卷积核的尺寸;卷积核的第二个维度由in_channels决定,所以实际上卷积核的大小为kernel_size * in_channels
stride:步长大小
padding:对输入的每一条边,补充0的层数
dilation:kernel间距
groups(int, optional) – 从输入通道到输出通道的阻塞连接数
bias(bool, optional) - 如果bias=True,添加偏置
m = nn.Conv1d(1,2,3,stride = 2)#in_channels=1,out_channels=2理解为卷积核的个数,kernel_size =3,stride = 2
input = torch.randn(64,1,8)#batch_size =64,1就对应词向量,8=句子长度
output=m(input)
oupput.shape#[64,2,3]
#64和2好理解,输出batch_size和被2个卷积生成的个数。(8=句子长度)-(kernel_size =3)除于步长再加一。

​	[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNgtVVZz-1578644551328)(C:\Users\Valiant\AppData\Roaming\Typora\typora-user-images\image-20200110155039996.png)]

1.2torch.nn.Conv2d

​ 一般来说,二位卷积nn.Conv2d用于图像数据,对宽度和高度都进行卷积。

定义:

class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
m = nn.Conv2d(1,2,(3,3),stride=(2,1))
input = torch.randn(64,1,8,8)
output = m(input)
print(output.shape)#[64,2,3,6]

kernel_sizestride在这都是二维的了,所以输入和输出就相应的扩张一维,output最后的6是因为stride=1。

第一维[(8=input[0])-(kernel_size[0] =3)] 除于 (stride[0] =2) 再加 1 =3
第二维[(8=input[1])-(kernel_size[1] =3)] 除于 (stride[1] =1) 再加 1 = 6

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MfmEdvRj-1578644505559)(C:\Users\Valiant\AppData\Roaming\Typora\typora-user-images\image-20200110161012217.png)]

注意

  • PyTorch中,池化操作默认的stride大小与卷积核的大小一致 。
  • 在自然语言处理领域内同样可以使用torch.nn.Conv2d,通常做法是将 kernel_size(_, embedding)第二个参数设为词向量长度

2.池化 Pool

2.1

  • 未完待续
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值