卷积神经网络基础

卷积层

1.可参考此文章:https://blog.csdn.net/tjlakewalker/article/details/83275322
2.实现代码:

import torch.nn as nn
conv = nn.Conv2d(in_channels=3,   #输入通道out_channels=64, #输出通道kernel_size=3,   #卷积核stride=1)        #步长
print(conv)
# 结果:Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1))

3.输出矩阵的大小计算公式

W:输入矩阵边长  F:过滤器边长  P:填充数  S:步长
输出的正方形矩阵边长:(W-F+2P)/S+1

反卷积

简单地说就是卷积的反向操作

pytorch中有两种反卷积方法

1.双线性插值上采样:

import torch.nn as nn
bilinear_layer = nn.UpsamplingBilinear2d(size = None,             #期望的输出尺寸scale_factor = None)     #缩放因子:决定缩放的大小                                         

2.转置卷积

import torch.nn as nn
transpose_conv = nn.ConvTranspose2d(in_channels = None,    #输入通道out_channels = None,   #输出通道kernel_size = None,    #卷积核stride = None,         #步长padding = None)       #填充数                              

转置卷积是通过学习的方式,即在训练中更新卷积核的参数,完成上采样,其计算结果更具鲁棒性,缺点是会增加模型的训练时间和训练参数;其代码比卷积层代码仅多了一个填充参数,其余参数不变

池化层

1.最大池化

import torch.nn as nn
maxpool_layer = nn.MaxPool2d(kernel_size = None,    #卷积核stride = None,         #步长padding = None,        #填充数dilation = None,       #膨胀数return_indices = None, #是否返回元素的位置信息ceil_mode=None)        #是否向上取整

2.平均池化

import torch.nn as nn
average_layer = nn.AvgPool2d(kernel_size = None,        #卷积核stride = None,             #步长padding = None,            #填充数ceil_mode=None)            #是否向上取整

3.Mixed pooling
4.Stochastic Pooling

特点:
1.池化层是对输入的特征图进行压缩
2.池化层可以使特征图变小简化计算
3.池化不断抽取局部区域的特征,但不关心区域的位置,目标位置在较小的移动之后扔保持相同的结果,在一定程度上可以增加了平移不变性

正则化层

全称Batch Normalization(BN),就是归一化处理
好处:减轻对初始数据的依赖;加速训练,学习率可以设置更高
坏处:一来batch的大小,batch不同,方差和均值的计算不稳定。------>BN层不适合batch较小的场景,也不适合RNN(RNN是动态网络结构,batch有长有短),只适合batch较大的场景

import torch.nn as nn
conv = nn.Conv2d(in_channels=3,   #输入通道out_channels=64, #输出通道kernel_size=3,   #卷积核stride=1)        #步长
BN = nn.BatchNorm2d(64)           #BN层参数紧跟卷积层的输出参数

全连接层

import torch.nn as nn
linear = nn.Linear(in_features=None,   #输入通道数out_features=None)  #输出通道数:一般是输出类别数

当特征图纬度过大时,可以通过几个全连接层完成降纬,最后一个全连接层的输出通道为最终的分类类别:

import torch.nn as nn
linear_1 = nn.Linear(2048,512)  #通过两个全连接层由2048降至5
linear_2 = nn.Linear(512,5)  

代码参数含义可以参考torch中文社区查找

https://pytorch-cn.readthedocs.io/zh/latest/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Optional 的用法

常见的有三种方法创建Optional 创建一个为空的optional实例 Testpublic void test_create_empty_optional() {Optional<String> empty Optional.empty();Assert.assertFalse(empty.isPresent());} 用of 创建的Option实例必须为非空&#xff0c;用ofNullable创建的Opti…

SpringCloud-记

目录 什么是SpringCloud 什么是微服务 SpringCloud的优缺点 SpringBoot和SpringCloud的区别 RPC 的实现原理 RPC是什么 eureka的自我保护机制 Ribbon feigin优点 Ribbon和Feign的区别 什么是SpringCloud Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发…

2024/3/24周报

文章目录 摘要Abstract文献阅读题目引言创新点数据处理研究区域和数据缺失值处理水质相关分析 方法和模型LSTMAttention机制AT-LSTM模型 实验结果 深度学习transformer代码实现1 模型输入1.1 Embedding层1.2 位置编码 2 Encoder2.1 编码器2.2 编码器层2.3注意力机制2.4多头注意…

hive SQL 移位、运算符、REGEXP正则等常用函数

orderflag & shiftleft(1,14) shiftleft(1,14) SQL中使用的运算符号详解_sql中各种符号-CSDN博客 Hive函数_hive shift-CSDN博客 &#xff08;内建函数&#xff08;类型排序&#xff09;_云原生大数据计算服务 MaxCompute(MaxCompute)-阿里云帮助中心&#xff09;

第五讲 哈希表

我们在前面讲了存储层&#xff0c;以及从次磁盘中将页面加载到缓冲池【Buffer Pool】中&#xff0c;现在我们继续往上&#xff0c;来讨论如何支持 DBMS 的执行引擎从页面中读取/写入数据。这部分是访问方法层的功能&#xff0c;它负责通过索引或者表本身&#xff0c;设置是其他…

为什么sql优化往往重点考虑查,而不是增删改

SQL优化重点考虑查询而不是增删改的原因有以下几点&#xff1a; 查询操作的频率高&#xff1a;在大多数数据库应用中&#xff0c;查询操作的频率远高于增删改操作。用户经常需要从数据库中获取数据进行分析、展示或进一步处理。因此&#xff0c;优化查询操作可以显著提高整个系…

Web基础应用

Web基础应用 独立的Web服务 只提供一个页面 构建基本的Web服务 基于 B/S &#xff08;Browser/Server&#xff09;架构的网页服务 服务端提供网页 浏览器下载并显示网页 Hyper Text Markup Language&#xff0c;超文标记语言 Hyper Text Transfer Protocol&#xff0c;超…

Spring JdbcTemplate 案例详解教程

&#xff08;感谢您的关注和点赞支持&#xff01;&#xff09; Spring JdbcTemplate Spring JdbcTemplate 是 Spring Framework 中用于简化 JDBC 操作的一个轻量级封装工具类。它提供了一系列的方法来执行 SQL 查询、更新、批处理等操作&#xff0c;从而减轻了开发者手动处理…

生物信息学文章中常见的图应该怎么看?

目录 火山图 热图 箱线图 森林图 LASSO回归可视化图&#xff08;套索图&#xff09; 交叉验证图 PCA图 ROC曲线图 这篇文章只介绍这些图应该怎么解读&#xff0c;具体怎么绘制&#xff0c;需要什么参数&#xff0c;怎么处理数据&#xff0c;会在下一篇文章里面给出 火山…

Python | 八、类型注解

类型注解 类型注解&#xff08;Type Annotations&#xff09;在Python 3.5及更高版本中被引入。类型注解允许你为函数的参数和返回值指定预期的数据类型。这些注解不会对Python代码的运行时行为产生直接影响&#xff0c;也就是说&#xff0c;它们不会导致代码在运行时进行类型…

python之jsonpath的使用

文章目录 介绍安装语法语法规则举例说明 在 python 中使用获取所有结构所有子节点的作者获取所有子孙节点获取所有价格取出第三本书的所有信息取出价格大于70块的所有书本从mongodb 中取数据的示例 介绍 JSONPath能在复杂的JSON数据中 查找和提取所需的信息&#xff0c;它是一…

Java设计模式之单例模式(多种实现方式)

虽然写了很多年代码&#xff0c;但是说真的对设计模式不是很熟练&#xff0c;虽然平时也会用到一些&#xff0c;但是都没有深入研究过&#xff0c;所以趁现在有空练下手 这章主要讲单例模式&#xff0c;也是最简单的一种模式&#xff0c;但是因为spring中bean的广泛应用&#…

前端面试题《react》

说说React render方法的原理&#xff1f;在什么时候会被触发&#xff1f; render函数里面可以编写JSX&#xff0c;转化成createElement这种形式&#xff0c;用于生成虚拟DOM&#xff0c;最终转化成真实DOM 在 React 中&#xff0c;类组件只要执行了 setState 方法&#xff0c…

151 shell编程

一&#xff0c;我们在终端窗口敲入一个date&#xff0c;系统会返回我们一个结果&#xff0c;这个流程是怎么样子的呢&#xff1f; hunandedehunandede-virtual-machine:~$ date 2024年 03月 24日 星期日 20:32:12 CST当前终端窗口就是 黑屏幕 当我们将date 写入里面并回车的时…

YoloV8改进策略:BackBone改进|PKINet

摘要 PKINet是面向遥感旋转框的主干,网络包含了CAA、PKI等模块,给我们改进卷积结构的模型带来了很多启发。本文,使用PKINet替代YoloV8的主干网络,实现涨点。PKINet是我在作者的模型基础上,重新修改了底层的模块,方便大家轻松移植到YoloV8上。 论文:《Poly Kernel Ince…

C 从函数返回数组

C 语言不允许返回一个完整的数组作为函数的参数。但是&#xff0c;您可以通过指定不带索引的数组名来返回一个指向数组的指针。 如果您想要从函数返回一个一维数组&#xff0c;您必须声明一个返回指针的函数&#xff0c;如下&#xff1a; int * myFunction() { . . . }另外&a…

计算机三级网络技术 选择+大题234笔记

上周停去准备计算机三级的考试啦&#xff0c;在考场上看到题目就知道这次稳了&#xff01;只有一周的时间&#xff0c;背熟笔记&#xff0c;也能稳稳考过计算机三级网络技术&#xff01;

鸿蒙开发学习:【华为支付服务客户端案例】

简介 华为应用内支付服务&#xff08;HUAWEI In-App Purchases&#xff09;支持3种商品&#xff0c;包括消耗型商品、非消耗型商品和订阅型商品。 消耗商品&#xff1a;仅能使用一次&#xff0c;消耗使用后即刻失效&#xff0c;需再次购买。非消耗商品&#xff1a;一次性购买…

计算机常见的知识点(3)

计算机系统 系统的构成 一个完整的计算机系统是由硬件和软件组成 硬件是由运算器、控制器、存储器、输入设备、输出设备五部分组成 其中&#xff1a;中央处理器(简称CPU)运算器控制器 主机中央处理器主存储器 计算机软件包括计算机本身运行所需要的系统软件和用户完成任务…

Mybatis中显示插入数据成功,但在数据库中却没有显示插入的数据

1、在mybatis-config.xml中查看是否添加了JDBC&#xff0c;并引入了映射文件 2、在测试文件中&#xff0c;结尾是否添加提交事务&#xff1a;sqlSession.commit() 添加了这一步就能够将数据提交到数据库中&#xff0c;最后再关闭事务&#xff1a;sqlSession.close() * 如果运…