当前位置: 首页 > article >正文

Pytorch----池化层(平均值池化、最大值池化、自适应最大值池化)--入门级小实例(逐行注释)---学习笔记

文章目录最大值池化层平均值池化层自适应平均值池化层代码实现还是用上次的小实例 这次加入三种池化层做练习。关于池化层的基础概念可以看这里。我之前以为池化层也叫下采样但这样说并不严格只是大家都这么说我刚知道其实采样层包含池化层。某种卷积层也叫采样层。最大值池化层选择每个小区域的最大值作为特征放到结果矩阵像下面这样。maxpoolnn.MaxPool2d(2,stride2)# 定义池化层pool_outmaxpool(image_out)# 图像数据放进去做池化操作平均值池化层就是从这个区域中算出平均值加入结果集。像下面这样。average_poolnn.AvgPool2d(2,stride2)pool_outaverage_pool(image_out)自适应平均值池化层自适应池化Adaptive Pooling与标准的Max/AvgPooling区别在于自适应池化Adaptive Pooling会根据输入的参数来控制输出output_size而标准的Max/AvgPooling是通过kernel_sizestride与padding来计算output_size。adaverage_poolnn.AdaptiveAvgPool2d(output_size(100,100))# 输出大小的尺寸指定为100*100pool_outadaverage_pool(image_out)代码实现沿用上一次的代码 直接加入池化层.## 池化层加入fromcopyimportdeepcopyfromPILimportImageimporttorchimportmatplotlib.pyplotaspltimportnumpyasnpfromtorchimportnn imageImage.open(../data/cat.png)imageimage.convert(L)image_npnp.array(image)h,wimage_np.shape image_tensortorch.from_numpy(image_np.reshape(1,1,h,w)).float()kersize5kertorch.ones(kersize,kersize,dtypetorch.float32)*-1tempdeepcopy(ker)ker[2,2]24conv2dtorch.nn.Conv2d(1,2,(kersize,kersize),biasFalse)kerker.reshape((1,1,kersize,kersize))conv2d.weight.data[0]ker conv2d.weight.data[1]temp image_outconv2d(image_tensor)# 添加池化层----最大值池化# maxpool nn.MaxPool2d(2,stride2)# pool_out maxpool(image_out)# 添加池化层---平均值池化# average_pool nn.AvgPool2d(2,stride2)# pool_out average_pool(image_out)# 添加池化层---自适应平均池化层adaverage_poolnn.AdaptiveAvgPool2d(output_size(100,100))# 输出大小的尺寸指定为100*100pool_outadaverage_pool(image_out)# print(image_out.data)# print( * 20)# print(image_out.detach().numpy().shape) # 仅仅将tensor数据转为numpy数据xtorch.linspace(-6,6,100)# -6到6分成了一百份 返回张量类型print(type(x))print(x)# print(pool_out.shape)pool_out_minpool_out.squeeze()# print(pool_out_min.shape)image_outimage_out.squeeze()# 画图之前看一下数据维度在压缩之前是四维张量 torch.Size([1, 2, 357, 357])# 压缩之后是三维张量 torch.Size([2, 357, 357]) 这里有两个 (357*357) 一个是普通卷积 一个是边缘提取# 给到最后plt画图的时候需要numpy类型数据。 所以直接[0] 和[1] 提取出来。#结果对比 一组是普通卷积和卷积池化 另一组是边缘检测和边缘检测池化plt.figure(figsize(18,18),frameonTrue)plt.subplot(2,2,1)# 你显示出来的图如何规划 规划为2行2列 从左到右从上到下编号plt.imshow(pool_out_min[1].detach(),cmapplt.cm.gray)# 数据有梯度 使用detach方法提取plt.axis(off)plt.subplot(2,2,2)# 加入池化层的普通卷积操作plt.imshow(image_out[1].detach(),cmapplt.cm.gray)plt.axis(off)plt.subplot(2,2,3)# 边缘检测plt.imshow(pool_out_min[0].detach(),cmapplt.cm.gray)plt.axis(off)plt.subplot(2,2,4)# 加入池化层的边缘检测plt.imshow(image_out[0].detach(),cmapplt.cm.gray)plt.axis(off)plt.show()最大值池化,四个图对比 分别是普通卷积池化 --------------- 普通卷积边缘检测池化 --------------- 边缘检测平均值池化自适应平均值池化

相关文章:

Pytorch----池化层(平均值池化、最大值池化、自适应最大值池化)--入门级小实例(逐行注释)---学习笔记

文章目录最大值池化层平均值池化层自适应平均值池化层代码实现还是用上次的小实例 ,这次加入三种池化层做练习。 关于池化层的基础概念可以看这里。 我之前以为池化层也叫下采样,但这样说并不严格,只是大家都这么说,我刚知道&am…...

风机光伏——02 风机出力建模

一、风机模型function power simpleTurbine( windSpeed, ratedOutputPower, cutInSpeed, ratedOutputSpeed, cutOutSpeed ) %#codegen %Simple Turbine % This function implements a simple power versus wind speed characteristic 此函数实现了简单的功率与风速特性 % to r…...

【动态规划】【广度优先搜索】【逆向思考】【单调向量】2617 网格图中最少访问的格子数

本文涉及的基础知识点 二分查找算法合集 动态规划汇总 题目 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。 当你在格子 (i, j) 的时候&#xff0c;你可以移动到以下格子之一&#xff1a; 满足 j < k < grid[i][j] j 的格子…...

写字基本功 - 正确握笔姿势

写字基本功 - 正确握笔姿势1. 写字基本功2. 正确握笔步骤3. 正确握笔姿势 - 重点解说图3.1. 食指3.2. 拇指3.3. 中指3.4. 其它3.5. 施力方法References1. 写字基本功 郑文彬 (布衣老师)&#xff0c;台湾桃园市人&#xff0c;研究硬笔写字教学二十余年&#xff0c;台湾元智大学…...

3.8-STL(八)(总结篇)

###以四道题来总结题号:lanqiao OJ 32261.宝藏排序II### 这道题主要考察sort,非常简单输出就是升序不需要自定义比较函数#include<bits/stdc.h> using namespace std; const int N1e55; //这里用int就足够了不需要开long long int a[N]; int main(){ios::sync_with_stdio…...

3.7-STL(七)(map篇)

### 这里重点学习map ### 在实际做题过程中,multimap几乎用不到### unordered_map拥有极好的平均时间复杂度和极差的最坏时间复杂度,所以他的时间复杂度是不稳定的,unordered_map一般用不到,要做一个了解1.mapmap是一种关联容器,用于存储一组键值对(key-value pairs),其中每个键…...

推荐开源项目:OpenBMC - 未来服务器管理的利器

推荐开源项目&#xff1a;OpenBMC - 未来服务器管理的利器 【免费下载链接】openbmc OpenBMC Distribution 项目地址: https://gitcode.com/gh_mirrors/op/openbmc 1、项目介绍 OpenBMC 是一个基于 Linux 的管理控制器分布&#xff0c;专门设计用于服务器、顶部机架交换…...

终极iOS防崩溃指南:如何使用AvoidCrash框架避免Objective-C运行时陷阱

终极iOS防崩溃指南&#xff1a;如何使用AvoidCrash框架避免Objective-C运行时陷阱 【免费下载链接】AvoidCrash This framework can effective avoid crash by potential error code. For example : If you insert a nil into a mutable array, this framework can avoid crash…...

Eisvogel与Docker结合:免安装LaTeX环境快速生成PDF文档

Eisvogel与Docker结合&#xff1a;免安装LaTeX环境快速生成PDF文档 【免费下载链接】pandoc-latex-template A pandoc LaTeX template to convert markdown files to PDF or LaTeX. 项目地址: https://gitcode.com/gh_mirrors/pa/pandoc-latex-template GitHub 加速计划…...

csvkit新手入门:5分钟掌握in2csv,轻松转换非CSV格式文件

csvkit新手入门&#xff1a;5分钟掌握in2csv&#xff0c;轻松转换非CSV格式文件 【免费下载链接】csvkit A suite of utilities for converting to and working with CSV, the king of tabular file formats. 项目地址: https://gitcode.com/gh_mirrors/cs/csvkit csvki…...

如何快速搭建Ruby on Rails管理后台:Trestle现代化框架的完整指南

如何快速搭建Ruby on Rails管理后台&#xff1a;Trestle现代化框架的完整指南 【免费下载链接】trestle A modern, responsive admin framework for Ruby on Rails 项目地址: https://gitcode.com/gh_mirrors/tr/trestle Trestle是一个为Ruby on Rails设计的现代化响应式…...

ProcessHacker高级筛选器创建:基于多条件组合定位进程

ProcessHacker高级筛选器创建&#xff1a;基于多条件组合定位进程 【免费下载链接】systeminformer A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solution…...

Gorilla机器学习工作流:模型训练与部署的API调用自动化

Gorilla机器学习工作流&#xff1a;模型训练与部署的API调用自动化 【免费下载链接】gorilla Gorilla: An API store for LLMs 项目地址: https://gitcode.com/gh_mirrors/go/gorilla Gorilla作为一个专为大型语言模型(LLMs)设计的API商店&#xff0c;通过自动化API调用…...

如何快速上手RancherOS:10分钟从零开始部署容器化操作系统

如何快速上手RancherOS&#xff1a;10分钟从零开始部署容器化操作系统 【免费下载链接】os Tiny Linux distro that runs the entire OS as Docker containers 项目地址: https://gitcode.com/gh_mirrors/os/os RancherOS是一款将整个操作系统作为Docker容器运行的轻量级…...

Multi-Agent Orchestrator快速入门指南:5分钟搭建你的第一个AI代理系统

Multi-Agent Orchestrator快速入门指南&#xff1a;5分钟搭建你的第一个AI代理系统 【免费下载链接】multi-agent-orchestrator Flexible and powerful framework for managing multiple AI agents and handling complex conversations 项目地址: https://gitcode.com/GitHub…...

3步上手stock-knowledge-graph:快速搭建你的证券知识图谱

3步上手stock-knowledge-graph&#xff1a;快速搭建你的证券知识图谱 【免费下载链接】stock-knowledge-graph 利用网络上公开的数据构建一个小型的证券知识图谱/知识库 项目地址: https://gitcode.com/gh_mirrors/st/stock-knowledge-graph stock-knowledge-graph是一个…...

如何在AWS/GCP/Azure上搭建LabelMe云标注平台:完整部署指南

如何在AWS/GCP/Azure上搭建LabelMe云标注平台&#xff1a;完整部署指南 【免费下载链接】labelme Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation). 项目地址: https://gitcode.com/gh_mirrors/lab/labe…...

RISC-V GNU 编译工具链项目教程

RISC-V GNU 编译工具链项目教程 【免费下载链接】riscv-gnu-toolchain GNU toolchain for RISC-V, including GCC 项目地址: https://gitcode.com/gh_mirrors/ri/riscv-gnu-toolchain 1. 项目目录结构及介绍 RISC-V GNU 编译工具链项目是一个用于构建 RISC-V 架构的 C …...

LikeC4 开源项目教程

LikeC4 开源项目教程 【免费下载链接】likec4 Visualize, collaborate, and evolve the software architecture with always actual and live diagrams from your code 项目地址: https://gitcode.com/GitHub_Trending/li/likec4 1. 项目介绍 LikeC4 是一个用于描述软件…...

Meteroid 开源项目使用教程

Meteroid 开源项目使用教程 【免费下载链接】meteroid Product-led Billing and Revenue Infrastructure 项目地址: https://gitcode.com/gh_mirrors/me/meteroid 1. 项目的目录结构及介绍 Meteroid 项目的目录结构如下&#xff1a; meteroid/ ├── assets/ ├── …...

【亲测免费】 探索未来芯片世界:RISC-V GNU 编译工具链深入解析与推荐

探索未来芯片世界&#xff1a;RISC-V GNU 编译工具链深入解析与推荐 【免费下载链接】riscv-gnu-toolchain GNU toolchain for RISC-V, including GCC 项目地址: https://gitcode.com/gh_mirrors/ri/riscv-gnu-toolchain 项目介绍 在开源软件与硬件的交响乐中&#xff…...

无头浏览器终极指南:自动化测试与网页爬虫的未来趋势

无头浏览器终极指南&#xff1a;自动化测试与网页爬虫的未来趋势 【免费下载链接】HeadlessBrowsers A list of (almost) all headless web browsers in existence 项目地址: https://gitcode.com/gh_mirrors/he/HeadlessBrowsers 无头浏览器是一种没有图形用户界面、可…...

C++11——统一的 { } 初始化

1. C11简介 在2003年 C标准委员会曾经提交了一份技术勘误表(简称TC1)&#xff0c;使得 C03 这个名字已经取代了C98&#xff0c;称为 C11之前的最新C标准名称。不过由于 C03(TC1) 主要是对 C98 标准中的漏洞进行修复&#xff0c;语言的核心部分则没有改动&#xff0c;因此人们习…...

【C++笔记】二叉搜索树

前言 各位读者朋友们大家好&#xff01;上期我们讲完了面向对象编程三大属性之一的多态&#xff0c;这一期我们再次开始数据结构二叉搜索树的讲解。 目录前言一. 二叉搜索树的概念二. 二叉搜索树的性能分析三. 二叉搜索树的插入四. 二叉搜索树的查找五. 二叉搜索树的删除六. 二…...

PyCaret特征工程:轻松构建专业级特征缩放与选择Pipeline

PyCaret特征工程&#xff1a;轻松构建专业级特征缩放与选择Pipeline 【免费下载链接】pycaret An open-source, low-code machine learning library in Python 项目地址: https://gitcode.com/gh_mirrors/py/pycaret PyCaret是一款开源的低代码机器学习库&#xff0c;它…...

Win-Debloat-Tools计划任务管理:优化系统后台运行的终极指南

Win-Debloat-Tools计划任务管理&#xff1a;优化系统后台运行的终极指南 【免费下载链接】Win-Debloat-Tools Re-imagining Windows like a minimal OS install, already debloated with minimal impact for most functionality. 项目地址: https://gitcode.com/gh_mirrors/w…...

Vue项目改造指南:轻松修改启动后的Logo和名称

目录 前言 一、修改前的准备工作 1.1 了解项目结构 1.2 准备素材 二、修改浏览器标签页图标和标题 2.1 替换Favicon图标 2.2 修改网页标题 2.3 验证修改效果 总结 前言 在Vue项目开发中&#xff0c;我们经常需要根据项目需求修改默认的品牌标识。无论是企业级管理系统…...

Django-Oscar优惠券与促销系统:10种营销策略的终极实现指南

Django-Oscar优惠券与促销系统&#xff1a;10种营销策略的终极实现指南 【免费下载链接】django-oscar django-oscar/django-oscar: 是一个基于 Django 的电子商务框架&#xff0c;可以用于快速开发和部署电子商务网站&#xff0c;提供了多种电子商务功能和插件扩展。 项目地…...

基于代价的连接条件下推,金仓数据库让我们不在焦虑

你是否遇到过这样的场景&#xff1a;一个看似复杂的SQL&#xff0c;在测试环境运行飞快&#xff0c;一到生产环境就"卡死"&#xff0c;一查执行计划&#xff0c;发现子查询生成了一个巨大的中间结果集&#xff0c;导致后续操作全部陷入性能泥潭&#xff1f; 如果你正…...

复杂查询中 JOIN 条件下推失败导致的性能瓶颈-金仓数据库

文章目录前言一、问题背景1.1 客户场景中的典型痛点1.2 业界普遍面临的两大难点1.2.1 语义安全性&#xff08;Equivalence&#xff09;1.2.2 代价评估&#xff08;Cost&#xff09;二、传统方案的局限2.1 完整执行子查询2.2 生成庞大的中间结果集2.3 再与外层表进行 JOIN三、金…...