文章目录

  • 引言
  • 一、卷积层
    • 1. nn.Conv2d
    • 2.nn.ConvTranspose2d
  • 二、池化层
    • 1. nn.MaxPool2d
    • 2. nn.AvgPool2d
    • 3. nn.MaxUnpool2d
  • 三、线性层
    • 1. nn.Linear
  • 四、激活函数层
    • 1. nn.Sigmoid
    • 2. nn.tanh
    • 3. nn.ReLU

理论知识插眼:深度学习TF—7.卷积神经网络CNN


引言

  前面,我们学习了如何搭建模型,以及在模型搭建过程中用到的容器。这一节,我们介绍网络层的具体使用。

一、卷积层

  下面介绍几个概念:

  • 卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加。
  • 卷积核:又称为滤波器,过滤器,可认为是某种模式,某种特征。
  • 卷积维度:一般情况下,卷积核在几个维度上滑动,就是几维卷积。
    PyTorch中提供了1d、2d、3d的卷积。

1d conv:

2d conv:

3d conv:

上述都是一个卷积核在一个信号上的卷积。如果涉及多个卷积核多个信号的操作,那么应该怎么判断卷积的维度?下面我们以一个三维卷积核实现二维卷积为例

每个卷积核分别在各自的通道进行卷积操作得到输出值,然后相加再加上偏置才会得到特征图的一个像素值。一个卷积核只在一个二维图像上进行滑动,所以这是二维卷积。为什么它是三维卷积核?正是因为它有多个通道,在多个通道上分别进行卷积。

1. nn.Conv2d

nn.Conv2d(in_channels,out_channels,kernel_size,stride=1,padding=0,dilation=1,groups=1,bias=True,padding_mode= ' zeros ' )

功能:对多个二维信号进行二维卷积
主要参数:

  • in_channels:输入通道数
  • out_channels:输出通道数,等价于卷积核个数
  • kernel_size:卷积核尺寸
  • stride:步长
  • padding :填充个数,用于保持输入与输出图像的尺寸是匹配的
  • dilation:空洞卷积大小
  • groups:分组卷积设置
  • bias:偏置

尺寸计算公式为:

2.nn.ConvTranspose2d

  nn.ConvTranspose2d是转置卷积。转置卷积用于对图像进行上采样(UpSample),经常用于图像分割任务。那么,什么是转置卷积?它与正常卷积有什么区别?
如图是正常2d卷积

假设图像尺寸为4∗44*44∗4,卷积核为3∗33*33∗3,padding=0,stride=1
图像:

PyTorch学习—10.nn中网络层的具体使用相关推荐

  1. 速成pytorch学习——4天中阶API示范

    使用Pytorch的中阶API实现线性回归模型和和DNN二分类模型. Pytorch的中阶API主要包括各种模型层,损失函数,优化器,数据管道等等. 一,线性回归模型 1,准备数据 import nu ...

  2. 速成pytorch学习——10天.训练模型的3种方法

    Pytorch通常需要用户编写自定义训练循环,训练循环的代码风格因人而异. 有3类典型的训练循环代码风格:脚本形式训练循环,函数形式训练循环,类形式训练循环. 下面以minist数据集的分类模型的训练 ...

  3. Scrapy框架的学习(10.Scrapy中的模拟登陆(使用cookie模拟登陆))

    1. 为什么需要模拟登陆? 获取cookie,能够爬取登陆后的页面的数据 2.使用cookie模拟登陆的场景 (1) cookie过期时间很长,常见于一些不规范的网站 (2) 能在cookie过期之前 ...

  4. 【Pytorch学习笔记2】Pytorch的主要组成模块

    个人笔记,仅用于个人学习与总结 感谢DataWhale开源组织提供的优秀的开源Pytorch学习文档:原文档链接 本文目录 1. Pytorch的主要组成模块 1.1 完成深度学习的必要部分 1.2 ...

  5. PyTorch学习笔记(11)——论nn.Conv2d中的反向传播实现过程

    0. 前言 众所周知,反向传播(back propagation)算法 (Rumelhart et al., 1986c),经常简称为backprop,它允许来自代价函数的信息通过网络向后流动,以便计 ...

  6. Pytorch 学习(6):Pytorch中的torch.nn Convolution Layers 卷积层参数初始化

    Pytorch 学习(6):Pytorch中的torch.nn  Convolution Layers  卷积层参数初始化 class Conv1d(_ConvNd):......def __init ...

  7. Pytorch学习(二)—— nn模块

    torch.nn nn.Module 常用的神经网络相关层 损失函数 优化器 模型初始化策略 nn和autograd nn.functional nn和autograd的关系 hooks简介 模型保存 ...

  8. 【Pytorch学习笔记三】Pytorch神经网络包nn和优化器optm(一个简单的卷积神经网络模型的搭建)

    文章目录 一, 神经网络包nn 1.1定义一个网络 1.2 损失函数 二.优化器 nn构建于 Autograd之上,可用来定义和运行神经网络, PyTorch Autograd 让我们定义计算图和计算 ...

  9. PyTorch学习笔记2:nn.Module、优化器、模型的保存和加载、TensorBoard

    文章目录 一.nn.Module 1.1 nn.Module的调用 1.2 线性回归的实现 二.损失函数 三.优化器 3.1.1 SGD优化器 3.1.2 Adagrad优化器 3.2 分层学习率 3 ...

  10. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

最新文章

  1. ad 卡尔曼_卡尔曼滤波剪影__Kalman Filtering · Make Intuitive
  2. MYSQL || 的BUG // MYSQL 不同库自增id的问题 //MySQL根据表注释查找对应的表 //hive -mysql 日期比较
  3. Java_Web使用简单的批处理操作
  4. C# ConcurrentBag实现
  5. python创建变量_Python每天一分钟:给类对象动态新增/删除成员变量和方法(函数)...
  6. Three-way Partition
  7. 广州大学专业选修课介绍-----------Linux操作系统分析及实践
  8. 7-81 编程团体赛 (20 分)
  9. linux man 后面的数字,man命令后面的数字
  10. CSS基础知识真难啊
  11. 2018第九届蓝桥杯国赛C组_java
  12. js下载视频(mp4格式)
  13. 如何取消github邮件订阅
  14. 网站安全性之js注入
  15. 计算机考研404是什么意思,研路分享:我的404分考研高分心得体会
  16. 开源了个人开发的一个微信小程序,提供共享场景服务,支持图片和小视频
  17. micropython移植stm32f746_STM32L476和STM32F746的外部Flash复制文件速度对比
  18. 华为matebook笔记本鸿蒙,聊聊鸿蒙对笔记本电脑行业的影响
  19. 远程连接服务器突然失败
  20. nginx+keepalive实现高可用负载均衡

热门文章

  1. UIWebView关于XMLHttpRequest的内存泄漏
  2. HDU 1500(经典的恶心DP)
  3. C# 0xC0000005 捕获
  4. 【JavaScript基础笔记】数据类型转换、false值、内存图、垃圾回收和深浅拷贝简易概念...
  5. Linux下MariaDB 安装及root密码设置(修改)
  6. 原创:使用脚本获取本机IP地址
  7. 基于密度聚类的DBSCAN和kmeans算法比较
  8. umask设置导致的weblogic中的应用上传的文件没有权限打开
  9. 基于朴素贝叶斯的定位算法
  10. 接口XMPPConnection