深度学习机器学习:常用激活函数(activation function)详解
目录
Sigmoid Function
ReLU(Rectified Linear Unit)
LeakyReLU(Leaky Rectified Linear Unit)
ClippedReLU(Clipped Rectified Linear Unit)
PRelu(Parametric ReLU)
Tanh(hyperbolic tangent function)
ELU (Exponential Linear Unit)
GELU(Gaussian Error Linear Unit)
Swish(Self-Gated Sigmoid Activation Function)
Softplus Fuction
Sigmoid Function
定义:
该函数将输入值 x 映射到 (0,1) 的范围内,输出值可以被解释为概率,广泛用于二分类任务中。
特点:
- 非线性平滑输出:Sigmoid函数的输出是连续且平滑的,能够为模型提供非线性建模能力。其S形曲线在输入值较小时(如 x→−∞)输出接近0,输入值较大时(如 x→+∞)输出接近1,中间区域则呈现平滑过渡,适合处理具有概率意义的输出。
- 梯度消失:Sigmoid函数的导数
在输入值绝对值较大时会接近0,导致反向传播时梯度非常小,从而引发梯度消失问题。这会使得深层网络中靠近Sigmoid激活函数的权重更新缓慢,甚至停止更新,影响模型的训练效果。
应用:
- 二元分类与概率输出:Sigmoid函数的输出范围为 (0,1),可以直接被解释为概率,因此非常适合用于二分类问题的输出层激活函数。例如,在逻辑回归或神经网络的最后一层,Sigmoid可以将输出映射为事件发生的概率。
ReLU(Rectified Linear Unit)
定义:
起源论文:Nair V, Hinton G E. Rectified linear units improve restricted boltzmann machines[C]//Proceedings of the 27th international conference on machine learning (ICML-10). 2010: 807-814.
Rectified Linear Units Improve Restricted Boltzmann Machines
特点:
- 正向激活:当输入为正时,输出等于输入,保持梯度不衰减,有助于解决梯度消失问题。当输入为负时,输出为零,引入稀疏性,减少计算量,但可能导致“死亡ReLU”问题(当特征值小于或等于0时,它总是输出0,即神经元永远不会被激活,特别是当模型参数量大的时候,不是每个参数都可以在梯度下降中被很好的训练,“死亡Relu”的影响就会比较明显)。
当ReLU函数的输入小于零时,其导数为零(因为输出是常数0,对输入没有依赖)。这意味着,在反向传播过程中,该神经元对损失函数的梯度贡献为零。因此,与该神经元相连的权重将不会得到更新(因为梯度为零,权重更新公式中的梯度项为零),进一步造成神经元“死亡”。
注:
- 神经元“死亡”通常指的是在使用 ReLU(Rectified Linear Unit) 激活函数时,某些神经元的输出值永远为 0,并且在训练过程中无法再被激活。这种情况被称为“神经元死亡”或“ReLU 死亡问题”
- 梯度消失是指在反向传播过程中,某些层的梯度值变得非常小,接近于 0,导致这些层的权重几乎无法更新。这种情况通常发生在深层网络中,尤其是在使用 sigmoid 或 tanh 激活函数时。
- 从描述上来说,神经元死亡是指激活后特征值仍为0(仅限于ReLU),梯度消失则是指梯度非常接近于0,两者在作用对象上具有本质差别。神经元死亡指该特征没有被利用,进一步训练也无法学习到(尽管该特征很微小),而梯度消失则是,描述该网络层由于梯度过于小导致无法得到有效训练。
使用场景:
- 常见的深度学习网络:由于其计算简单,效率高,因此其比较适合应用参数量大的深度神经网络。同时因为其具有稀疏的特性,利用ReLU训练的网络往往有更好的模型蒸馏效果,因此一些论文为了凑工作量,故意采用ReLU激活函数,来提升其模型蒸馏的表现。
注:稀疏性通常指在某个集合、向量、矩阵或信号中,大多数元素或分量的值接近于零或为零,而只有少数元素或分量的值较大。这种特性使得数据或信号具有稀疏表示的可能性,即可以通过较小的数据来储存和表示。
LeakyReLU(Leaky Rectified Linear Unit)
定义:
起源论文:Maas A L, Hannun A Y, Ng A Y. Rectifier nonlinearities improve neural network acoustic models[C]//Proc. icml. 2013, 30(1): 3.
relu_hybrid_icml2013_final.pdf
特点:
-
缓解“死亡神经元”问题:当输入为负时,LeakyReLU输出一个微小的非零值(αxαx),而非完全置零。这使得负区间的梯度为 α(而非0),确保反向传播时梯度仍能流动,避免神经元永久“死亡”。
-
保留部分稀疏性与计算高效性:负值区域的输出虽不为零,但通过设置较小的 αα(如0.01),仍能保持一定稀疏性,即负值区域的激活强度远低于正值区域。相比ReLU仅多一次乘法运算(αx),整体复杂度依然较低,依旧适合个人构建大规模神经网络。
使用场景:
-
任何可以使用Relu激活函数的场景:
在生成对抗网络(GANs)、循环神经网络(RNNs)等对梯度敏感的任务中,LeakyReLU可避免因梯度消失导致的模型训练失败。相较于ReLU,LeakyReLu在计算复杂度不大幅提高的情况下,进一步强化了模型训练和预测的鲁棒性。所以,为什么不用LeakReLU呢?
稀疏性权衡:LeakyReLU牺牲了ReLU的严格稀疏性(负值完全置零),但通过微小负值保留了部分稀疏特性。
参数选择:α 通常取0.01,但可根据任务调整。若 α 过大,可能导致负值区域激活过强,削弱稀疏性优势。当 α=0 时,LeakyReLU退化为ReLU;当α=1 时,退化为线性函数。
ClippedReLU(Clipped Rectified Linear Unit)
定义:
Clipped ReLU(也称为截断ReLU或限制ReLU)是一种变体,它在ReLU的基础上对输出值进行了上限截断。即当输入大于某个设定阈值时,输出不再继续增加,而是被限制在这个阈值上。
起源论文:Cai Z, He X, Sun J, et al. Deep learning with low precision by half-wave gaussian quantization[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 5918-5926.
CVPR 2017 Open Access Repository
特点:
- 保留了ReLU的稀疏性
- 防止梯度爆炸:在反向传播中,输入超过
的区域梯度为零(因输出固定为常数
),类似ReLU的负区间行为。这能限制梯度幅值,降低梯度爆炸的可能性。
- 引入可控性:通过调整
可灵活平衡模型表达能力与数值稳定性。例如,较小的
增强鲁棒性但可能抑制特征多样性,较大的 ττ 更接近原始ReL
使用场景:
- 基本不用:大多数场景中,梯度爆炸问题都不太显著。因此,必须使用Clipped ReLu的场景较少。
- 特殊需求:量化感知训练(Quantization Aware Training, QAT)及 嵌入式或边缘计算中:在模型量化前使用ClippedReLU,可约束激活值范围,使其适配低比特整数(如8-bit),减少量化误差。
注:
阈值:Clipped ReLU的阈值
是人为一个超参数,需要根据具体任务和网络结构进行调优。
什么是量化感知训练(QAT):在深度学习领域,模型的效率和性能一直是研究者们关注的重点。传统的深度学习模型大多使用32位浮点数(FP32)进行计算,但在部署阶段,尤其是在资源受限的设备上(如移动设备、嵌入式系统等),将模型中的权重和激活函数量化为较低精度的数值(如8位整数,INT8)可以显著减少内存和计算的需求。然而,模型量化通常会带来计算精度的下降,从而影响模型的性能。为了减少这种影响,量化感知训练被提出,用于底精度模型拟合原始模型。
PRelu(Parametric ReLU)
定义:
Parametric ReLU(PReLU)是LeakyReLU的改进版本,虽然从计算定义上看,和LeakyReLU一致,但PReLU通过引入可学习的参数来自适应调整负值区域的斜率。其中,α 是一个可训练的参数(而非固定值),通过反向传播优化,允许模型根据数据动态调整负区间的激活强度。
He K, Zhang X, Ren S, et al. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1026-1034.
ICCV 2015 Open Access Repository
特点:
-
自适应负区间斜率:PReLU允许每个神经元或每组通道(channel-wise)拥有独立的 α,赋予模型更强的表达能力。例如,卷积网络中可为每个卷积核单独学习 α,适应不同特征的重要性。类似LeakyReLU,负区间的梯度为 α(非零),确保反向传播时梯度持续流动,降低神经元永久失效的风险。通过优化 α,模型可自动决定负区间的激活强度:若α→0,接近ReLU的严格稀疏性;若 α 较大,保留更多负值信息以捕捉复杂模式。
-
低额外计算成本:
增加的参数量极小(如CNN中每通道仅一个参数),模型计算成本和LeakyReLU一致,适合大规模网络。PReLU在训练时,即反向传播的过程中,也会增加的一定计算量,但总体来说也不显著,替换成PReLU不会显著降低训练时间。
PReLU梯度的计算:反向传播时,α的梯度为负区间的输入 x之和,即
,需注意梯度裁剪防止数值不稳定。
使用场景:
-
任何使用ReLU、LeakyReLU的场景:生于LeakyReLU,可自适应的调节参数的PReLu是更好选择。当训练数据充足时,PReLU的参数化机制可挖掘更多隐藏特征,避免因固定 α 导致的模型表达能力受限。
-
多源异构数据融合的模型:若输入特征在不同通道或区域间差异显著(如自然图像与文本数据混合训练),PReLU的分通道参数化特性可提升模型鲁棒性,因此在数据分布差异比较大的多源数据中,PReLU是个不错的激活工具。
注:
参数初始化:
α 通常初始化为0.25(经验值,参考何恺明论文),但也可尝试其他初始化策略(如均匀分布)。参数共享策略:
为减少参数量,可将 α 设为通道共享(channel-wise)而非逐神经元(element-wise),尤其在宽网络中,以减少参数量,加快训练速度。
Tanh(hyperbolic tangent function)
定义:
特点:
- 平滑性和对称性:该函数将输入值映射到 [−1,1] 的范围内,输出值具有对称性和平滑性。其导数为:
,这种平滑性使得梯度在反向传播过程中能够持续流动。但输入和输出的绝对值太大时,其梯度也过于的小,同样会产生梯度消失。
但需要注意的是:tanh 的梯度在输入值接近 0 时较大,而在输入值绝对值较大时梯度逐渐减小。这种特性使得 tanh 仅在在处理中等大小的输入时能够较好地传播梯度,在输入值过大或过小时,梯度可能会变得非常接近于0,从而导致“梯度消失”问题。
使用场景:
- 映射输出:由于tanh输出[-1,1]的特性,它很适合用来映射输出。因此生成网络的输出基本都是采用tanh,如DCGAN或是Pix2Pix。再例如循环神经网络(RNN)中,tanh 常用于门控机制,以确保梯度在时间维度上能够较好地传播。
-
小规模网络:tanh的计算较为复杂,因此其并不适用于大型网络模型,要不其训练时间会显著地增加,如使用tanh的RNN模型:LSTM,它的训练速度就是慢。
ELU (Exponential Linear Unit)
定义:
其中,α 是一个超参数,通常取值为1,但也可以根据需要进行调整。
起源论文:Clevert D A. Fast and accurate deep network learning by exponential linear units (elus)[J]. arXiv preprint arXiv:1511.07289, 2015.
(PDF) Fast and Accurate Deep Network Learning by Exponential Linear Units (ELUs)
特点:
- 负值平滑处理:ELU对负值进行指数平滑处理,输出饱和于
,减少噪声传播(负区间的饱和特性可抑制噪声信号,即当x小于零时,其波动会被”平滑压缩“)。因此其可以防止梯度消失的产生。
- 连续可微:ELU在所有点上都是连续且可微的(当
为1时),有助于梯度在反向传播过程中更顺畅地流动。因此不容易产生梯度消失问题。
使用场景:
- 对训练稳定性有更高要求:由于ELU的计算开销要高于ReLU和LeakyReLU(特别是训练阶段),但目前没有充分的证据使用ELU会显著提高模型性能,首选使用ELU较少。只能说使用ELU训练过程中的稳定性会更好。
GELU(Gaussian Error Linear Unit)
定义:
式中:为标准高斯分布的累计分布函数,erf表示误差函数。在程序中,常用其近似公式表示:
或:(等价于Swish激活函数)
累积分布函数表示标准正态分布的随机变量X小于或等于输入值x的概率
起源论文: Hendrycks D, Gimpel K. Gaussian error linear units (gelus)[J]. arXiv preprint arXiv:1606.08415, 2016.
[1606.08415] Gaussian Error Linear Units (GELUs)
特点:
- 连续平滑:不再赘述
- 自适应门控机制 :GELU 通过其内部的高斯 CDF 组件,实现了一种自适应的门控机制。这意味着 GELU 可以根据输入的属性自动调整激活的量,类似于神经元的开/关切换,即通过CDF,将x进行0~100%间的取舍,这与开关很像,但不是只有开和关。
- 隐式、数据依赖的正则化机制 :GELU 其通过概率化门控动态调整激活强度,既保留了 ReLU 的稀疏性优势,又具备了类似 Dropout 的泛化增强能力。(直接基于输入值的分布特性决定抑制强度,无实际随机操作)
GELU:数据依赖的隐式自适应正则化:
GELU 的正则化强度不是固定的(如 Dropout 的固定概率 p),而是依赖输入 x的统计特性。
对噪声(一般而言,噪声的数值分布要远低于特征,如果你噪声比特征的数值还大,你的数据就相当于都是噪声了)或小幅度的输入(x接近 0),GELU 会显著抑制激活值(Φ(x)≈0.5),起到类似噪声过滤的作用,相当进一步屏蔽该噪声或微小特征,防止模型过拟合。
对显著的正/负输入(∣x∣较大),GELU 退化为近似线性/稀疏激活,保留关键特征。
效果:这种动态调整在训练中隐式引导模型关注更重要的特征,降低对噪声的敏感度,从而提升泛化能力。
使用场景:
-
与 Swish 的关系:GELU 与 Swish在形式上相似,但 GELU 的理论基础源自高斯误差函数,而 Swish 为经验性设计。当 β=1.702 时,二者近似等价。所以一般而言,使用Swish和GELU的场景可以试试替换,但Swish计算更加简单一些。
-
任何依赖ReLU和LeakyReLU的模型:在多数任务中,GELU 相比 ReLU 可小幅提升模型精度(约 1-2%),但其优势在深层网络或数据稀缺时更为显著。
-
自然语言处理(NLP) :GELU 在 BERT、GPT 等大型语言模型中得到广泛应用,这些模型表明,GELU 可以在处理复杂和高维数据时,提供比传统激活函数更好的性能和泛化能力。GELU 能够提高变换器模型的性能,这使它成为最先进的 NLP 研究和应用的主要工具。
-
集成Transformer的计算机视觉模型 :GELU 越来越多地被视觉模型所采用,尤其是那些集成了视觉 Transformer(ViT)等 Transformer 架构的模型。对于图像分类和物体检测等任务,GELU 可以增强模型学习复杂视觉特征的能力。
Swish(Self-Gated Sigmoid Activation Function)
定义:
Swish,即自适应sigmoid函数,其中,β 是可学习的参数。
起源论文:Ramachandran P, Zoph B, Le Q V. Searching for activation functions[J]. arXiv preprint arXiv:1710.05941, 2017.
[1710.05941] Searching for Activation Functions
特点
-
带有自适应调节因子:Swish 将输入值 x 与经过 sigmoid(βx) 激活后的值相乘,这里的 β 是一个可训练的参数。这使得 Swish 函数能够根据训练数据自动调整自身,增强其拟合复杂数据分布的能力。
-
非单调且平滑特性:与其他大部分的激活函数不同,Swish 是非单调的,其曲线更平滑,这种非线性特性有助于模型在更多复杂场景下具备良好的泛化能力。其导数
,正负区间均保持非零梯度,不容易产生梯度消失。
使用场景
- 深层网络架构:如 Transformer、ResNet 等超深模型,利用其平滑梯度和自适应特性提升训练稳定性。在图像分类、目标检测等任务中,Swish 常优于 ReLU,尤其在模型需要强非线性表达能力时。当模型出现神经元死亡或梯度消失时,可尝试替换 ReLU 为 Swish 以验证效果提升。
注:
参数初始化:β 通常初始化为 1(经验值),若作为可训练参数,可采用小随机值(如均匀分布)以促进探索。
变体版本:Swish-1:固定 β=1,省去参数学习,计算成本较低且性能接近原版。原始版本的EfficientNet采用的激活函数就是Swish-1;此外,Swish 和 SiLU(Sigmoid-weighted Linear Unit)数学形式一致,但 SiLU 通常指固定β=1 的版本。
硬件优化问题:部分框架(如 TensorFlow)对 Swish 的 Sigmoid 计算进行硬件级优化(如查表近似),缓解计算瓶颈。
参数共享策略:β 具有两种设置,作为全局参数(整个网络共享)或层级参数(每层独立),需要留意。
Softplus Fuction
定义:
起源论文:
特点:
- 平滑近似、渐进线性:Softplus 是 ReLU 函数的平滑近似。它在整个范围内都是可导的,这使得它在反向传播过程中能够提供稳定的梯度。当输入值较大时,Softplus 函数的输出近似于线性。
使用场景:
- VAE(变分自编码器):在VAE中,softplus用于参数化潜在空间的方差。由于softplus的输出总是非负的,这确保了方差的正定性,符合概率模型的要求。
- GANs(生成对抗网络):在某些GAN模型中,softplus用于参数化logits,帮助生成更加清晰和区分的概率分布。这对于GAN生成逼真的数据至关重要。
VAE(Variational Autoencoder),即变分自编码器,是一种深度生成模型,它结合了自编码器(Autoencoder)和变分推断(Variational Inference)的技术。其 在数据增强、艺术创作、图像生成、文本生成、语音生成等领域具有广泛应用(没错,StableDiffusion系列的模型)。
相关文章:

深度学习机器学习:常用激活函数(activation function)详解
目录 Sigmoid Function ReLU(Rectified Linear Unit) LeakyReLU(Leaky Rectified Linear Unit) ClippedReLU(Clipped Rectified Linear Unit) PRelu(Parametric ReLU) Tanh&am…...

TCP协议(Transmission Control Protocol)
TCP协议,即传输控制协议,其最大的特征就是对传输的数据进行可靠、高效的控制,其段格式如下: 源端口和目的端口号表示数据从哪个进程来,到哪个进程去,四位报头长度表示的是TCP头部有多少个4字节,…...

django上传文件
1、settings.py配置 # 静态文件配置 STATIC_URL /static/ STATICFILES_DIRS [BASE_DIR /static, ]上传文件 # 定义一个视图函数,该函数接收一个 request 参数 from django.shortcuts import render # 必备引入 import json from django.views.decorators.http i…...

Web 后端 请求与响应
一 请求响应 1. 请求(Request) 客户端向服务器发送的HTTP请求,通常包含以下内容: 请求行:HTTP方法(GET/POST等)、请求的URL、协议版本。 请求头(Headers):…...

【深度解析】图解Deepseek-V3模型架构-混合专家模型(MoE)
一、引言 最近非常火爆的DeepSeek-V3模型,是一个包含6710亿总参数的强大混合专家模型(MoE),该模型在DeepSeek-V2验证有效的核心架构基础上,采用多头潜在注意力(MLA)机制和DeepSeekMoE架构&…...

全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售
要闻 近日,科沃斯全新发布的GOAT A Series 和 GOAT O Series割草机器人,将在多国市场正式上市发售。作为业界最强的割草机器人产品之一,GOAT致力为割草机带来基于机器人视觉的专业定位解决方案。科沃斯GOAT全新系列产品全平台搭载地瓜机器人…...
ORB-SLAM3的源码学习:TwoViewReconstruction通过两幅图像来实现重建
前言 TwoViewReconstruction和Initializer 在功能上实际是有重叠,但它们的设计目标和使用场景不同。TwoViewReconstruction专注于处理两幅图像之间的相对运动和三维点重建,而Initializer 负责整个 SLAM 系统的初始化,包括地图的构建和系统的…...
基于单片机ht7038 demo
单片机与ht7038 demo,三相电能表,电量数据包括电流电压功能,采用免校准方法 列表 ht7038模块/CORE/core_cm3.c , 17273 ht7038模块/CORE/core_cm3.h , 85714 ht7038模块/CORE/startup_stm32f10x_hd.s , 15503 ht7038模块/CORE/startup_stm32…...

【DeepSeek三部曲】DeepSeek-R1论文详细解读
这里写目录标题 摘要1. 引言1.1 贡献1.2 评估结果总结 2. 方法2.1 概述2.2 DeepSeek-R1-Zero:在base模型上进行强化学习2.2.1 强化学习算法2.2.2 奖励模型2.2.3 训练模版2.2.4 DeepSeek-R1-Zero的表现、自我进化过程以及顿悟时刻 2.3 DeepSeek-R1:带有冷…...
【深度学习】计算机视觉(CV)-目标检测-DETR(DEtection TRansformer)—— 基于 Transformer 的端到端目标检测
1.什么是 DETR? DETR(DEtection TRansformer) 是 Facebook AI(FAIR)于 2020 年提出的 端到端目标检测算法,它基于 Transformer 架构,消除了 Faster R-CNN、YOLO 等方法中的 候选框(…...

Windows Docker运行Implicit-SVSDF-Planner
Windows Docker运行GitHub - ZJU-FAST-Lab/Implicit-SVSDF-Planner: [SIGGRAPH 2024 & TOG] 1. 设置环境 我将项目git clone在D:/Github目录中。 下载ubuntu20.04 noetic镜像 docker pull osrf/ros:noetic-desktop-full-focal 启动容器,挂载主机的D:/Github文…...
ELK安装部署同步mysql数据
ELK 安装部署指南 ELK 是 Elasticsearch、Logstash 和 Kibana 的简称,用于日志收集、存储、分析和可视化。 1. 安装 Elasticsearch Elasticsearch 是一个分布式搜索和分析引擎。 1.1 下载并安装 访问 Elasticsearch 官网 下载最新版本。 解压并安装: tar…...
Vision Transformer图像分块嵌入核心技术解析:从数学推导到工业级应用
一、技术原理与数学建模 1.1 图像分块过程数学表达 给定输入图像 x ∈ R H W C x \in \mathbb{R}^{H \times W \times C} x∈RHWC,将其分割为 N N N 个尺寸为 P P P \times P PP 的图块: x p ∈ R N ( P 2 ⋅ C ) 其中 N H W P 2 x_p \in \m…...

【产品资料】陀螺匠·企业助手v1.8 产品介绍
陀螺匠企业助手是一套采用Laravel 9框架结合Swoole高性能协程服务与Vue.js前端技术栈构建的新型智慧企业管理与运营系统。该系统深度融合了客户管理、项目管理、审批流程自动化以及低代码开发平台,旨在为企业提供一站式、数字化转型的全方位解决方案,助力…...
深度求索-DeepSeek-R1本地部署指南
1、参考:部署指南 2、参考:deepseek本地部署只需三步 DeepSeek本地部署只需三步: 1、安装运行环境:安装 Ollama:Ollama官网:官网 2、下载模型:参数越大,需要物里硬件越多 3、安装部…...
代码随想录day12
144.二叉树的前序遍历 //明确递归的函数,结束边界,单层逻辑 void traversal(TreeNode* node, vector<int>& list){if(node nullptr){return;}list.push_back(node->val);traversal(node->left, list);traversal(node->right, list)…...

告别第三方云存储!用File Browser在Windows上自建云盘随时随地访问
文章目录 前言1.下载安装File Browser2.启动访问File Browser3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 无论是个人用户还是企业团队,都希望能够有一个高效、安全的解决方案来…...
Ubuntu 下 nginx-1.24.0 源码分析 - NGX_MAX_ALLOC_FROM_POOL
NGX_MAX_ALLOC_FROM_POOL 定义在 src\core\ngx_palloc.h #define NGX_MAX_ALLOC_FROM_POOL (ngx_pagesize - 1) 在 src/os/unix/ngx_alloc.h extern ngx_uint_t ngx_pagesize; 这个全局变量定义在 src\os\unix\ngx_alloc.c 中 ngx_uint_t ngx_pagesize; 在 src/os/unix/ngx_…...
PyQt6/PySide6 的 SQL 数据库操作(QtSql)
一、核心组件架构 1.1 QtSql模块构成 QSqlDatabase:数据库连接管理(支持连接池)QSqlQuery:SQL语句执行与结果遍历QSqlTableModel:可编辑的表格数据模型QSqlQueryModel:只读查询结果模型QSqlRelationalTab…...

利用IDEA将Java.class文件反编译为Java文件:原理、实践与深度解析
文章目录 引言:当.class文件遇到源代码缺失第一章:反编译技术基础认知1.1 Java编译执行原理1.2 反编译的本质1.3 法律与道德边界 第二章:IDEA内置反编译工具详解2.1 环境准备2.2 三步完成基础反编译2.3 高级反编译技巧2.3.1 调试模式反编译2.…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...