当前位置:   article > 正文

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

python 添加卷积层 池化层

目录

一、卷积层的使用

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、运用卷积层进行计算

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

所用代码如下。

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

 二、池化层的使用

与卷积层的实现方式相似

1、创建随机数据

这里的数据依旧为x。

2、创建最大池化层

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

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

3、运用池化层计算

与卷积层的运用相似

所用代码如下

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51856
推荐阅读
相关标签
  

闽ICP备14008679号