利用Pytorch框架实现简单的卷积层和池化层使用(新手笔记)

目录

一、卷积层的使用

1、生成随机数据

2、创建卷积层

3、运用卷积层进行计算

 二、池化层的使用

1、创建随机数据

2、创建最大池化层

3、运用池化层计算


一、卷积层的使用

利用pytorch中的nn可以实现卷积层

1、生成随机数据

先利用randn随机生成一组3维数据x,x是维度为2×9×9的数据(如下面的代码)

2、创建卷积层

第一个参数需要与数据的通道数保持一致(即2×9×9中的2),所以我写的是x.shape[0]

第二个参数是输出通道数,也就是卷积核的组数,即需要输出的特征图个数

第三个参数是卷积核大小,一定要小于等于数据的大小(小于2×9×9中的9)否则无法计算

第四个是步长,表示以什么间隔移动

第五个是填充

第六个是是否有偏置,如果需要则为True

3、运用卷积层进行计算

运用卷积层的方法非常简单,如代码所示。

所用代码如下。

import torch.nn as nn
import torch

x = torch.randn(2, 9, 9) #创建随机数据
m = nn.Conv2d(x.shape[0], 3, 3, stride=1, padding=0, bias=True) # 创建卷积层
output = m(x) # 运用卷积层计算

print(x)
print(output)

 二、池化层的使用

与卷积层的实现方式相似

1、创建随机数据

这里的数据依旧为x。

2、创建最大池化层

第一个参数为卷积核大小,如果用的是2维池化,卷积核大小为3×3;如果是1维池化,卷积核大小为1×3

对于1维2维池化层的理解可以参考这篇博客:1维2维最大池化层理解

3、运用池化层计算

与卷积层的运用相似

所用代码如下

import torch.nn as nn
import torch

x = torch.randn(2, 9, 9) #创建随机数据
p = nn.MaxPool2d(3, stride=2) # 创建最大池化层,我用的2维最大池化
output_2 = p(x) # 运用池化层计算
print(output_2)

两种不同的层的使用方法类似,主要还是因为pytorch框架的便捷性。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值