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

卷积神经网络 - 卷积的变种、数学性质

本文我们来学习卷积的变种和相关的数学性质,为后面学习卷积神经网络做准备,有些概念可能不好理解,可以先了解其概念,然后慢慢理解、逐步深入。

在卷积的标准定义基础上,还可以引入卷积核的滑动步长和零填充来增加卷积的多样性,可以更灵活地进行特征抽取。

一、步长(Stride)

是指卷积核在滑动时的时间间隔,下图给出了步长为 2 的卷积示例:

二、填充

1、零填充(Zero Padding)

      是在输入向量两端进行补零,下图5给出了输入的两端各补一个零后的卷积示例:

2、窄卷积(Valid Convolution)、宽卷积(Full Convolution)和等宽卷积(Same Convolution)

以上三种是标准卷积的三种不同填充策略。它们的主要区别在于输入输出的尺寸关系,而非卷积操作本身的结构创新。

(一)核心定义与数学关系

类型填充策略输出尺寸公式(输入尺寸nn,核大小kk,步幅s=1s=1)直观解释
窄卷积无填充(padding=0n−k+1只处理输入的有效区域,输出缩小
宽卷积全填充(padding=k-1n+k−1覆盖输入的所有可能位置,输出扩大
等宽卷积对称填充(padding=(k-1)/2n保持输入输出尺寸一致

(二)与卷积变种的本质区别

1. 改进目标不同
  • 窄/宽/等宽卷积:调整输入输出的空间关系,解决尺寸匹配问题(如保持分辨率、扩大感受野)。

  • 卷积变种(如空洞卷积、可分离卷积):改进特征提取方式参数效率(如扩大感受野、减少计算量)。

2. 技术手段不同
类型技术手段是否改变卷积核结构
窄/宽/等宽卷积调整填充量否(仅改变输入边界处理)
空洞卷积插入空洞间隔是(改变采样方式)
可分离卷积分解为深度+逐点卷积是(改变操作流程)

(三)具体示例对比

场景:输入信号长度为5(n=5),卷积核大小3(k=3
  • 窄卷积(无填充):

    • 输出长度 = 5−3+1=3

    • 计算区域:[1-3], [2-4], [3-5](忽略边界外数据)

  • 宽卷积(填充2,零填充):

    • 输出长度 = 5+3−1=7

    • 计算区域扩展至输入外(如填充后的输入为[0,0,1,2,3,4,5,0,0]

  • 等宽卷积(填充1,对称填充):

    • 输出长度保持5

    • 填充后的输入为[0,1,2,3,4,5,0]

(四)为何不属于卷积变种?

  1. 不涉及结构创新
    窄/宽/等宽卷积仅通过填充控制输入输出的尺寸,未改变卷积核的权重共享机制或特征提取方式。例如,无论选择哪种填充方式,标准卷积的局部连接和权重共享特性均保持不变。

  2. 通用性
    这三种填充策略可应用于任何标准卷积或变种卷积。例如,空洞卷积可以选择窄填充或等宽填充,分组卷积也可搭配宽卷积使用。

  3. 参数无关性
    填充策略不影响卷积核的参数学习,而变种卷积(如可变形卷积)会直接调整核的采样位置或参数生成方式。

(五)实际应用场景

填充类型典型应用场景
窄卷积特征图尺寸逐步缩减的网络(如VGG)
宽卷积信号恢复任务(如去噪、超分辨率重建)
等宽卷积需保持分辨率的任务(如语义分割、风格迁移)

窄卷积、宽卷积、等宽卷积是标准卷积的不同填充模式,属于卷积操作的基础配置选项,而非结构上的变种。它们的核心作用是控制输入输出的空间映射关系,而非改进特征提取能力或效率。理解这一点有助于避免混淆基础操作与高级改进方法。

三、卷积的变种

卷积神经网络(CNN)的变种在标准卷积的基础上进行改进,以解决不同任务中的特定需求。以下是对几种常见卷积变种的通俗解析:

1. 空洞卷积(Dilated Convolution)

问题:标准卷积的感受野有限,难以捕捉大范围上下文信息。
改进:在卷积核中插入“空洞”,扩大覆盖范围而不增加参数。
比喻:像用“望远镜”观察数据,跳过中间细节直接看远处特征。

例子

  • 输入序列[A, B, C, D, E, F]

  • 空洞率=2的3核卷积
    A ? C ? E → 实际覆盖 A, C, E
    ?表示跳过的位置)

应用场景

  • 语义分割(如识别图像中的大型物体)

  • 时间序列预测(捕捉长期依赖)

2. 可分离卷积(Separable Convolution)

问题:标准卷积参数多、计算量大,尤其对移动设备不友好。
改进:将卷积分解为深度卷积(逐通道) + 逐点卷积(1x1),减少计算量。

数学对比

  • 标准卷积参数量:Cin×Cout×K×K

  • 可分离卷积参数量:Cin×K×K+Cin×Cout
    (假设输入输出通道数均为64,3x3卷积核:标准需 64x64x9=36,864 参数,可分离仅需 64x9 + 64x64=4,672 参数)

应用场景

  • 移动端模型(如MobileNet)

  • 实时视频处理

3. 转置卷积(Transposed Convolution)

问题:标准卷积会缩小特征图尺寸,但某些任务需要放大输出(如生成图像)。
改进:通过“反向滑动”实现上采样,填充间隔后做标准卷积。

操作示例

  • 输入:2x2矩阵

  • 转置卷积核:3x3,步长=2

  • 输出:5x5矩阵(通过插值扩大尺寸)

应用场景

  • 图像生成(GAN生成高分辨率图片)

  • 语义分割(恢复原始图像尺寸)

4. 分组卷积(Grouped Convolution)

问题:标准卷积要求所有通道全连接,计算成本高且缺乏并行性。
改进:将输入通道分为多组,每组独立卷积后再合并。

对比

  • 标准卷积:所有通道混合计算

  • 分组卷积:分组处理(如将64通道分为4组,每组16通道)

优势

  • 参数减少为 1/组数

  • 并行加速(不同组可分配到不同GPU核心)

应用场景

  • 高效模型设计(如ResNeXt)

  • 多任务学习(不同组学习不同特征)

5. 可变形卷积(Deformable Convolution)

问题:标准卷积核形状固定,无法适应不规则物体(如弯曲的动物)。
改进:让卷积核的采样点位置可学习,动态调整形状。

效果演示

  • 标准3x3卷积:固定覆盖9个点

  • 可变形卷积:9个点根据输入内容偏移(如聚焦在弯曲的鱼骨上)

应用场景

  • 目标检测(处理变形物体)

  • 医学图像分析(器官形状不规则)

6. 动态卷积(Dynamic Convolution)

问题:静态卷积核难以适应输入内容的变化
改进:根据输入数据动态生成卷积核参数。

例子

  • 输入一张猫图 → 生成“猫耳检测核”

  • 输入一张车图 → 生成“车轮检测核”

应用场景

  • 多模态数据处理

  • 少样本学习

变种卷积的核心价值

变种类型解决的核心问题关键技术手段
空洞卷积感受野受限间隔采样扩大覆盖范围
可分离卷积参数冗余、计算量大分解为深度+逐点卷积
转置卷积输出尺寸缩小反向滑动实现上采样
分组卷积计算成本高、缺乏并行性通道分组独立处理
可变形卷积几何形变适应差可学习的采样点偏移
动态卷积静态核泛化能力不足输入相关的动态参数生成

核心思想:所有卷积变种都围绕两个方向改进:

  1. 增强特征表达能力(扩大感受野、适应形变等)

  2. 提升计算效率(减少参数量、加速计算等)

通过灵活组合这些变种,现代CNN能够应对从图像分类到自动驾驶等复杂任务的需求。

四、如何理解卷积的数学性质:交换性和导数?

卷积在数学和深度学习中有一些重要的性质,理解这些性质有助于更深入地掌握其工作原理,尤其是在神经网络中的应用。下面从交换性导数两个角度进行解析:

(一)卷积的交换性

1. 数学定义中的交换性

严格数学卷积(信号处理中的定义)是可交换的,即:

证明

例子

  • 信号处理:用滤波器 f 处理信号 g,与用信号 g 处理滤波器 f,结果相同。

  • 图像处理:用边缘检测核 K 卷积图像 I,等价于用图像 I 卷积核 K。

2. 深度学习中的“卷积”是否满足交换性?

在深度学习中,实际使用的是互相关(Cross-Correlation)而非严格卷积。互相关操作不满足交换性

原因
互相关不翻转核,因此核的位置敏感。例如,检测猫耳朵的核放在图像左上角和右下角,结果不同。

实际意义

  • 在训练中,网络通过反向传播自动学习核的方向性特征(如左边缘或右边缘检测器)。

  • 交换性在深度学习中不重要,因为核的参数是数据驱动的。

(二)卷积的导数

1. 卷积的导数规则

在反向传播中,卷积层的导数计算遵循以下规则:

直观理解

  • 对输入的导数 = 核的导数与输入信号的卷积。

  • 对核的导数 = 输入信号与输入梯度的卷积。

2. 反向传播中的具体计算

假设卷积层的输入为 X,核为 K,输出为 Y=X∗K,损失函数为 L。
反向传播时:

  • 输入梯度

  • 核梯度

例子

  • 输入的梯度:

(三)交换性和导数的实际意义

1. 交换性的意义
  • 数学理论:简化计算(如傅里叶变换中 F(f∗g)=F(f)⋅F(g))。

  • 深度学习:无直接应用,因为实际使用互相关,但参数学习自动适应方向性。

2. 导数的意义
  • 参数更新:通过梯度计算优化核权重。

  • 特征可视化:通过梯度反传理解网络关注的特征(如显著图生成)。

(四)总结与记忆

性质数学卷积深度学习中的互相关实际意义
交换性成立不成立理论计算简化,实际无需关心
导数链式法则反向传播规则网络优化的数学基础

口诀
“数学卷积可交换,深度互相关不转;
导数计算链式传,反向传播梯度算。”

相关文章:

卷积神经网络 - 卷积的变种、数学性质

本文我们来学习卷积的变种和相关的数学性质,为后面学习卷积神经网络做准备,有些概念可能不好理解,可以先了解其概念,然后慢慢理解、逐步深入。 在卷积的标准定义基础上,还可以引入卷积核的滑动步长和零填充来增加卷积…...

ubuntu 和 RV1126 交叉编译Mosqutiio-1.6.9

最近需要交叉编译mosquitto,遇到一些小问题记录一下。 1.众所周知使用它自带的Makefile编译的时候,只需要在编译前,指定它config.mk中的变量:CFLAGS头文件路径 和 LDFLAGS库文件路径就ok,例子如下: expor…...

从零开始学习机器人---如何高效学习机械原理

如何高效学习机械原理 1. 理解课程的核心概念2. 结合图形和模型学习3. 掌握公式和计算方法4. 理论与实践相结合5. 总结和复习6. 保持好奇心和探索精神 总结 机械原理是一门理论性和实践性都很强的课程,涉及到机械系统的运动、动力传递、机构设计等内容。快速学习机械…...

STM32 RS232通信开发全解析 | 零基础入门STM32第五十九步

主题内容教学目的/扩展视频RS232串口电路原理,跳线设置,驱动程序。与超级终端通信。了解电路原理和RS232协议。 师从洋桃电子,杜洋老师 📑文章目录 一、RS232通信系统架构二、RS232核心原理与硬件设计2.1 电气特性对比2.2 典型电路…...

文献分享: 对ColBERT段落多向量的剪枝——基于学习的方法

原论文 1. 导论 & \textbf{\&} &方法 1️⃣要干啥:在 ColBERT \text{ColBERT} ColBERT方法中,限制每个段落要保留的 Token \text{Token} Token的数量,或者说对段落 Token \text{Token} Token进行剪枝 2️⃣怎么干:注…...

(已解决)aws 上 部署Splunk 负载均衡unhealthy

在AWS 部署Splunk 服务,instance 是后端的EC2, 我把splunk 服务起好后,发现port : 8000 是listening: #netstat -an | grep 80 tcp 0 0 127.0.0.1:8065 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8089 0.0.0.0:* …...

C# 异步编程

概述 同步:指必须等待前一个操作完成,后续操作才能继续。同步操作会阻塞线程直到任务完成。 异步:异步操作不会阻塞线程,允许程序在等待某个任务完成的同时,继续执行其他任务。 异步编程适用场景: 1、从…...

缓存之美:Guava Cache 相比于 Caffeine 差在哪里?

大家好,我是 方圆。本文将结合 Guava Cache 的源码来分析它的实现原理,并阐述它相比于 Caffeine Cache 在性能上的劣势。为了让大家对 Guava Cache 理解起来更容易,我们还是在开篇介绍它的原理: Guava Cache 通过分段(…...

Go string 字符串底层逻辑

在 Go 语言中,string 类型的底层结构是一个结构体,包含两个字段:一个指向字节数组的指针和该字节数组的长度。以下是其在 Go 源码中的大致定义:type stringStruct struct {str unsafe.Pointerlen int } str:这是一个指…...

高效集成聚水潭采购退货数据到MySQL的最佳实践

聚水潭数据集成到MySQL:采购退货单的高效对接方案 在企业的数据管理和分析过程中,数据的准确性和实时性至关重要。本文将分享一个具体的系统对接集成案例:如何通过轻易云数据集成平台,将聚水潭中的采购退货单数据高效地集成到MyS…...

STM32步进电机S型与T型加减速算法

目录 一、基本原理 二、常见类型 三、算法详解 四、应用场合 五、代码实现 1、main...

centos操作系统上传和下载百度网盘内容

探序基因 整理 进入百度网盘官网百度网盘 客户端下载 下载linux的rpm格式的安装包 在linux命令行中输入:rpm -ivh baidunetdisk_4.17.7_x86_64.rpm 出现报错: 错误:依赖检测失败: libXScrnSaver 被 baidunetdisk-4.17.7-1.x8…...

深入 Python 网络爬虫开发:从入门到实战

一、为什么需要爬虫? 在数据驱动的时代,网络爬虫是获取公开数据的重要工具。它可以帮助我们: 监控电商价格变化抓取学术文献构建数据分析样本自动化信息收集 二、基础环境搭建 1. 核心库安装 pip install requests beautifulsoup4 lxml …...

网络爬虫【简介】

我叫补三补四,很高兴见到大家,欢迎一起学习交流和进步 今天来讲一讲爬虫 一、网络爬虫的定义 网络爬虫(Web Crawler),又称为网络蜘蛛、网络机器人等,是一种按照一定规则自动抓取互联网信息的程序或脚本。它…...

Linux:Ubuntu server 24.02 上搭建 ollama + dify

一、安装Ubuntu 具体的安装过程可以参见此链接:链接:Ubuntu Server 20.04详细安装教程,这里主要记录一下过程中遇到的问题。 安装时subnet如何填写 在Ubuntu中subnet填写255.255.255.0是错误的,其格式为 xx.xx.xx.xx/yy &#…...

【生日蛋糕——DFS剪枝优化】

题目 分析 代码 #include <bits/stdc.h> using namespace std;const int N 24; const int inf 0x3f3f3f3f;int mins[N], minv[N]; int R[N], H[N]; int n, m, ans inf;void dfs(int u, int v, int s) {if(v minv[u] > n) return;if(s mins[u] > ans) return;…...

RabbitMq C++客户端的使用

1.RabbitMq介绍 RabbitMQ 是一款开源的消息队列中间件&#xff0c;基于 AMQP&#xff08;高级消息队列协议&#xff09;实现&#xff0c;支持多种编程语言和平台。以下是其核心特点和介绍&#xff1a; 核心特点 多语言支持 提供 Java、Python、C#、Go、JavaScript 等语言的客…...

入门基础项目-前端Vue_02

文章目录 1. 用户信息1.1 整体设计1.2 完整代码 User.vue1.2.1 数据加载1.2.2 表格 el-table1.2.2.1 多选1.2.2.2 自定义列的内容 Slot1.2.2.3 图片 el-image1.2.2.4 分页 el-pagination 1.2.3 编辑1.2.3.1 弹出框 el-dialog1.2.3.2 上传 el-upload 1.2.4 新增1.2.5 删除1.2.6 …...

C#中SerialPort 的使用

最近在学习C#的SerialPort &#xff0c;关于SerialPort 的使用&#xff0c;做如下总结&#xff1a; 1.可以通过函数System.IO.Ports.SerialPort.GetPortNames() 将获得系统所有的串口名称。C#代码如下&#xff1a; string[] sPorts SerialPort.GetPortNames(); foreach(stri…...

使用py-ffmpeg批量合成视频的脚本

我有一个小米摄像头&#xff0c;用它录出来的视频全部都是3s一段3s一段的。其中有几个小时的视频我需要保存&#xff0c;当初直接把摄像头的卡文件导出来重命名掉了&#xff0c;那时候没有注意&#xff0c;之后想剪辑/发送给别人的时候发现疯了&#xff1a; 1.剪辑的话&#x…...

mac安装navicat及使用

0.删除旧的 sudo rm -Rf /Applications/Navicat\ Premium.app sudo rm -Rf /private/var/db/BootCaches/CB6F12B3-2C14-461E-B5A7-A8621B7FF130/app.com.prect.NavicatPremium.playlist sudo rm -Rf ~/Library/Caches/com.apple.helpd/SDMHelpData/Other/English/HelpSDMIndexF…...

织梦dedecmsV5.7提示信息提示框美化(带安装教程和效果展示)

一、效果展示 1、安装前效果 2、安装后效果 二、安装说明 1、安装测试版本&#xff1a;DedeCMS-V5.7.117-UTF8&#xff1b; 2、必须在修改代码之前请做好文件备份&#xff0c;以免误操无法恢复&#xff1b; 3、为了兼容其他版本&#xff0c;请在安装时&#xff0c;最好将替…...

【知识迁移的底层逻辑:从符号到语义的升维】

大语言模型&#xff08;LLMs&#xff09;能够通过有限语料库实现广泛知识迁移并回答多样化问题&#xff0c;其核心机制在于抽象模式学习、上下文推理能力及知识组合泛化&#xff0c;而非简单的数据记忆。以下是具体实现路径与技术原理&#xff1a; 一、知识迁移的底层逻辑&…...

Windows根据文件名批量在文件夹里查找文件并复制出来,用WPF实现的详细步骤

项目前言 在日常工作和生活中&#xff0c;我们常常会遇到需要从大量文件中根据文件名批量查找特定文件并复制到指定位置的情况。手动一个个查找和复制文件不仅效率低下&#xff0c;还容易出错。使用 Windows Presentation Foundation (WPF) 可以创建一个用户友好的图形界面应用…...

Certbot实现SSL免费证书自动续签(CentOS 7版 + Docker部署的nginx)

前置安装&#xff0c;可参考Certbot实现SSL免费证书自动续签&#xff08;CentOS 7 nginx/apache&#xff09; 如果是通过 Docker 运行 Nginx&#xff0c; certbot 无法直接检测到本地的 Nginx 配置。解决方案是 使用 standalone 模式 或 挂载 Webroot 方式获取 SSL 证书&…...

一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程&#xff1a; 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们来新建一个的蓝图模块-班级模块&#xff0c;后面可以和学生模块&#xff0c;实现一对多的数据库操作。 blueprint下新建g…...

工程实践:如何使用SU17无人机来实现室内巡检任务

阿木实验室最近发布了科研开发者版本的无人机SU17&#xff0c;该无人机上集成了四目视觉&#xff0c;三维激光雷达&#xff0c;云台吊舱&#xff0c;高算力的机载计算机&#xff0c;是一个非常合适的平台用于室内外巡检场景。同时阿木实验室维护了多个和无人机相关的开源项目。…...

14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包 这些是 pandas 在底层使用的各种读写包。无须安装 pandas&#xff0c;直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题&#xff0c;只在 pandas 没有提供你所需要的功能时才用到读写包。 表中没有 xlwings &#xff0c;因为…...

深入理解 Maven BOM 及其继承特性

深入理解 Maven BOM 及其继承特性 一、什么是 Maven BOM&#xff1f; Maven BOM&#xff08;Bill Of Materials&#xff0c;物料清单&#xff09;是一种特殊的 Maven 项目&#xff0c;用于集中管理依赖项的版本信息。BOM 项目本身并不包含实际的代码或资源&#xff0c;而仅仅…...

责任链模式如何减少模块之间的耦合

责任链模式如何减少模块之间的耦合 在复杂的软件系统中&#xff0c;模块之间的耦合是一个常见的问题。高耦合的代码不仅增加了维护成本&#xff0c;还会导致系统的扩展性和灵活性受限。当我们需要为不同的请求设计灵活的处理逻辑时&#xff0c;传统的硬编码方式会将请求的发送…...

Java面试:集合框架体系

一、ArrayList 1.数组&#xff08;Array&#xff09; 是一种用连续的内存空间存储相同数据类型数据的线性数据结构 数组如何获取其他元素的地址值&#xff1f; 寻址公式&#xff1a;a[i] baseAddress i * dataTypeSize baseAddress&#xff1a;数组的首地址dataTypeSize&am…...

【八股文】ArrayList和LinkedList的区别

先讲讲两者是如何实现的 ArrayList public class ArrayList<E> extends AbstractList<E>implements List<E>, RandomAccess, Cloneable, java.io.Serializable {transient Object[] elementData; private int size; } 通过源码可以看出&#xff0c;ArrayLis…...

sentinel限流算法

限流算法&#xff1a;固定窗口算法、滑动时间窗口、令牌桶和漏桶这四种常见限流算法的原理&#xff1a; 限流算法原理 固定窗口&#xff1a; 固定窗口算法将时间划分为固定大小的窗口&#xff0c;并在每个窗口内限制请求的数量。在每个窗口开始时&#xff0c;计数器重置&#…...

Spring生态下的中台架构设计:如何构建可扩展业务系统?

一、中台战略的架构觉醒 在数字化转型的浪潮中,企业面临的核心矛盾日益凸显:前端业务的快速迭代需求与后端系统刚性架构之间的矛盾。中台架构的提出,本质上是对传统单体架构和过度微服务化的辩证扬弃。Spring生态以其模块化设计理念,恰好为中台建设提供了绝佳的技术土壤。…...

Project回调函数qsort②进阶应用

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h>//库函数strcmp头文件 //使用qsort排序结构体 struct Stu { char name[20]; int age; }; //按照年龄排序 int cmp_stu_by_age(const void* e1,const void* e2) { return ((struc…...

【推荐项目】052-用水监控管理系统

052-用水监控管理系统 介绍 用水监控管理系统 springboot java vuejs jdk1.8 当然&#xff0c;以下是一个简洁的用水监控管理系统的功能模块划分&#xff0c;基于Spring Boot&#xff08;JDK 1.8&#xff09;后端和Vue.js前端&#xff1a; 用水监控管理系统功能模块 后端&…...

Hive SQL 精进系列:PERCENTILE_APPROX 搞定分位数

目录 一、引言二、percentile_approx 函数基础2.1 基本语法参数解释返回值简单示例 三、应用场景3.1 数据分析与报告3.2 数据清洗与异常值检测3.3 性能监控与优化 四、使用注意事项4.1 数据类型要求4.2 精度与性能平衡4.3 空值处理 五、总结 一、引言 百分位数作为一种常用的统…...

使用Hbuilder发布小程序显示发布失败?

接受了一个新uniapp项目 但是在Hbuilder中发行报错 小程序发行失败 试了几次还是不行 写代码的人也走了&#xff0c;头疼。 不用Hbuilder小程序的主包体积又太大哎 开发工具无法上传~ 后来想看一下 这个发布失败到底有没有生成打包好的文件 如果生成了可以试一下 直接导入到微信…...

甲骨文找回二次验证的方法(超简单)

因为更换手机丢失了二次验证。 然后给客服沟通&#xff0c;获得了找到二次验证的办法&#xff0c;希望对你有用。 1、登录到账号登陆界面&#xff0c;查看地址栏当中自己的IDCE地址&#xff08;yourIDCS_Stripe_here&#xff09;部分&#xff0c;并复制。 https://idcs-yourID…...

Tcp网络通信的基本流程梳理

先来一张经典的流程图 接下介绍一下大概流程&#xff0c;各个函数的参数大家自己去了解加深一下印象 服务端流程 1.创建套接字&#xff1a;使用 socket 函数创建一个套接字&#xff0c;这个套接字后续会被用于监听客户端的连接请求。 需要注意的是&#xff0c;服务端一般有俩…...

C++相关基础概念之入门讲解(上)

1. 命名空间 C中的命名空间&#xff08;namespace&#xff09;是用来避免命名冲突问题的一种机制。通过将类、函数、变量等封装在命名空间中&#xff0c;可以避免不同部分的代码中出现相同名称的冲突。在C中&#xff0c;可以使用namespace关键字来定义命名空间。 然后我们在调…...

Redis能否替代MySQL作为主数据库?深入解析两者的持久化差异与适用边界——基于AOF持久化与关系型数据库的对比

一、Redis的持久化机制与可靠性分析 ​AOF持久化原理与策略 Redis的AOF&#xff08;Append Only File&#xff09;通过记录所有写操作命令实现持久化&#xff0c;支持三种策略&#xff1a; ​**always模式**&#xff1a;每条命令执行后立即同步到磁盘&#xff0c;理论上数据丢失…...

Hive函数大全:从核心内置函数到自定义UDF实战指南(附详细案例与总结)

目录 背景‌一、Hive函数分类与核心函数表‌1. 内置函数分类‌2. 用户自定义函数(UDF)分类二、常用函数详解与实战案例‌1. 数学函数‌2. 字符串函数‌3. 窗口函数‌4. 自定义UDF实战‌三、总结与优化建议‌1. 核心总结2. 性能优化建议‌3. 常问问题背景‌ Hive作为Hadoop生…...

如何修改 Ubuntu 软件源(镜像源)

如何修改 Ubuntu 软件源&#xff08;镜像源&#xff09; 前言 在使用 Ubuntu 时&#xff0c;默认的软件源可能速度较慢&#xff0c;影响软件安装和系统更新的效率。我们可以通过修改 sources.list 文件或使用图形界面更换更快的镜像源&#xff0c;提升软件包管理的速度。 本…...

在Spring Boot项目中接入DeepSeek深度求索,感觉笨笨的呢

文章目录 引言1. 什么是DeepSeek&#xff1f;2. 准备工作2.1 注册DeepSeek账号 3.实战演示3.1 application增加DS配置3.2 编写service3.3 编写controller3.4 编写前端界面chat.html3.5 测试 总结 引言 在当今快速发展的数据驱动时代&#xff0c;企业越来越重视数据的价值。为了…...

AP AR

混淆矩阵 真实值正例真实值负例预测值正例TPFP预测值负例FNTN &#xff08;根据阈值预测&#xff09; P精确度计算&#xff1a;TP/(TPFP) R召回率计算&#xff1a;TP/(TPFN) AP 综合考虑P R 根据不同的阈值计算出不同的PR组合&#xff0c; 画出PR曲线&#xff0c;计算曲线…...

Vue 中的 MVVM、MVC 和 MVP 模式深度解析

文章目录 1. 模式概览与核心概念1.1 模式定义1.2 架构对比图 2. MVC 模式详解2.1 MVC 流程图2.2 Vue 中的 MVC 实现 3. MVP 模式详解3.1 MVP 流程图3.2 Vue 中的 MVP 实现 4. MVVM 模式详解4.1 MVVM 流程图4.2 Vue 中的 MVVM 实现 5. 模式对比分析5.1 职责对比5.2 通信方式对比…...

WVP前后端部署

使用默认的构建&#xff0c;能够直接访问18080&#xff0c;我以为二者是一起的。实际上这不影响前后端分离。 前端服务器 构建war之后&#xff0c;部署到另外一台机器上&#xff0c;比如使用apache2。 后端服务器 修改src/main/resources/static/static/js/config.js&#…...

VSTO(C#)Excel开发9:处理格式和字体

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

蓝耘MaaS平台:阿里QWQ应用拓展与调参实践

摘要&#xff1a;本文深入探讨了蓝耘MaaS平台与阿里QWQ模型的结合&#xff0c;从平台架构、模型特点到应用拓展和调参实践进行了全面分析。蓝耘平台凭借其强大的算力支持、弹性资源调度和全栈服务&#xff0c;为QWQ模型的高效部署提供了理想环境。通过细化语义描述、调整推理参…...