【全连接神经网络】核心步骤及其缺陷
前向传播
计算公式(其中一种)
- x1/x2:输入值,一般是神经网络上一层的输出或者输入数据本身,上图中表示两个节点
- w11 w13:权重,在神经网络中,权重是学习的参数,表示每个输入对输出的影响程度
- b1:表示偏置顶,是一个额外的常数值,用来帮助神经网络调整输出。偏置项的作用是让神经元能够更好地拟合数据
- sigmoid:激活函数
损失函数
基本了解
损失函数主要用于衡量模型预测结果与实际结果之间的差距或者误差。损失函数的作用是告诉我们模型在当前的预测中犯了多大的错误,训练过程就是通过最小化损失函数来调整模型参数,使得模型的预测更准确
简单来说,损失函数可以看做是误差的度量标准,帮助模型知道自己哪里出错了然后进行改进
损失函数常见的类型
- 均方误差(MSE):用来衡量回归任务中的预测误差,适用于预测连续数值。比如预测房价、温度等
- 交叉熵(Cross-Entropy):用来衡量分类任务中的预测误差,适用于分类问题,如判断图片是猫还是狗
均方误差函数
- yi^表示第i个样本的预测值
- yi表示第i个样本的真实值
- n表示样本的总数量
投篮事例连理解该函数
假设你正在进行投篮游戏,每次投篮你都希望能进球。我们可以把这个投篮过程看作是一个回归问题,其中
- 目标:你希望每次投篮的目标位置是篮筐的中心
- 真实值:篮筐的实际位置
- 预测值:你每次投篮的预测位置(即球的落点)
所以其中MSE就是来衡量每次投篮的精确度
- 预测误差:每次投篮时,球的落点与篮筐中心之间的距离就是预测误差
- 平方误差:为了避免正负误差互相抵消,投篮的误差被平方。假设有一次你投篮偏左 3 米,另一种情况是偏右 5 米。通过平方,两个误差都会被放大,使得两次投篮的误差都得到了应有的惩罚
- 平均误差:你可以计算所有投篮的误差的平均值,这就是最终的 MSE
例如如果有三次投篮,那么计算其平均误差
- 第一次投篮,球偏左 3 米,真实值是篮筐中心,误差是 3 米,误差的平方是 9
- 第二次投篮,球偏右 4 米,误差的平方是16。
- 第三次投篮,球正中篮筐,误差是 0,平方误差是 002=0
综上三次的平均数值就是 mse = 1/3 * (9+16+0) = 8.33
MSE 的值越小,说明你投篮越准确,模型表现得越好。反之,MSE 值较大,说明你的投篮偏差较大,模型还需要调整
交叉熵损失函数
基本了解
一种适合分类问题的损失函数,比如图像分类、文本分类等任务。它衡量的是两个概率分布之间的差异:一个是模型输出的预测概率分布,另一个是真实标签的概率分布。通过最小化交叉熵,模型可以更好地调整其输出,以使得预测的概率分布尽可能接近真实标签的分布
二分类交叉熵损失
二分类的理解
假设你在预测某个城市是否会下雨,你的任务是根据一些气象数据(如温度、湿度等)来判断是否会下雨。你将这个任务视为一个二分类问题,输出为“下雨”(1)或“不下雨”(0)
- 其中模型,输出的是一个概率值y^ ,表示模型预测下雨的概率
- 真实标签y是0或1,分别表示下雨和不下雨
场景 1:真实标签 y=1y = 1y=1(下雨)
果模型预测 y^=0.9,即模型预测下雨的概率为 90%,那么交叉熵损失是:
由于预测接近真实值,损失很小
场景 2:真实标签 y=0y = 0y=0(不下雨)
-
如果模型预测y^=0.1,即模型预测不下雨的概率为 90%,那么交叉熵损失是:
由于模型预测正确,损失很小。
-
如果模型预测y^=0.9,即模型预测不下雨的概率为 10%,那么交叉熵损失是:
由于预测错误,损失非常大
多分类交叉熵损失
多分类预测理解
预测一天的天气类型,可能的天气类型有三种:晴天、阴天、雨天,我们将这个任务视为一个多分类问题。模型输出的是每种天气类型的概率
- 目标:预测某一天的天气类型
- 真实标签:如果真实天气是“阴天”,标签为 [0,1,0][0, 1, 0][0,1,0](0 表示晴天,1 表示阴天,0 表示雨天)
- 预测值:模型输出的天气预测概率,例如模型预测“晴天”的概率是 0.3,“阴天”的概率是 0.6,“雨天”的概率是 0.1
交叉熵损失将惩罚模型在错误天气类型上的大概率预测。例如模型的预测非常接近真实标签,预测60%阴天最后是阴天,那么损失就小。如果模型此时给了错误的判断,那么损失就会变大
梯度下降法
反向传播的具体实现方法
基本了解
梯度下降就类似爬山的过程,目标就是找到山谷中的最低点,也就是损失函数的最小值
- 爬山:你站在山顶上,想要下山,找到最低点。你根据地形的坡度(梯度)来决定每一步走多远。坡度越陡,步伐越大;坡度越平缓,步伐越小
- 梯度下降:就像爬山一样,我们通过计算梯度来决定往哪个方向走。在机器学习中,我们通过计算损失函数的梯度来确定更新参数的方向。每次调整的步长由学习率决定。如果步伐太大,可能会错过最低点;如果步伐太小,可能会走得很慢
优点
- 可用于大规模数据:对于大型数据集,尤其是深度学习模型,随机梯度下降和小批量梯度下降能有效处理
缺点
- 局部最小值:对于非凸的损失函数,梯度下降可能会陷入局部最小值或鞍点,而不是全局最优解
- 学习率选择:选择合适的学习率是一个挑战,学习率过大或过小都会影响优化效果
- 收敛速度:梯度下降可能需要许多迭代才能收敛,特别是在损失函数复杂时
基本概念
梯度下降的核心思想是通过计算损失函数对参数的导数(梯度),了解损失函数在当前参数位置的变化趋势。然后,根据梯度的方向调整模型参数,逐步降低损失
实现步骤
- 初始化参数:首先,我们随机初始化模型的参数(如神经网络的权重和偏置)
- 计算梯度:对于当前参数,计算损失函数对各个参数的梯度
- 更新参数:根据公式,参考下文
- 迭代:重复步骤 2 和 3,直到损失函数收敛,即损失不再显著减小,或者达到了预定的迭代次数
梯度下降法类型
批量梯度下降
每次更新参数时,使用整个训练数据集来计算梯度
- 优点:每次计算的梯度都比较精确,能保证找到损失函数的全局最优解(如果损失函数是凸的)
- 缺点:每次计算梯度时需要遍历整个数据集,计算量大,对于数据集较大的问题,效率较低
随机梯度下降
每次更新参数时,仅使用一个样本(通常是随机选择的一个样本)来计算梯度并更新参数
- 优点:每次更新都很快,适用于大规模数据集,可以快速得到一个近似最优解。由于每次只计算一个样本的梯度,计算量较小
- 缺点:由于每次计算的梯度不准确,可能会导致更新方向波动较大,不容易收敛到全局最优解,最终的收敛过程可能较为慢
小批量梯度下降
批量梯度下降和随机梯度下降的折中方案,每次更新时,使用一个小的随机样本批次(mini-batch)来计算梯度并更新参数
- 优点:结合了批量梯度下降和随机梯度下降的优点。相比批量梯度下降,计算速度更快,收敛也比SGD更稳定。对于大数据集,小批量梯度下降能在有效计算的同时,避免计算量过大
- 缺点:需要选择合适的批次大小(通常介于 10 到 1000 之间)
梯度下降法的优化(了解)
- 动量法(Momentum):为了加速收敛,并减小梯度下降中的震荡,动量法引入了过去梯度的记忆,使得每次更新不仅依赖当前的梯度,还依赖之前的梯度
- 自适应学习率算法
- Adagrad:根据参数的历史梯度自动调整学习率,适用于稀疏数据
- RMSprop:改进了Adagrad,解决了学习率过快衰减的问题
- Adam:结合了动量法和自适应学习率的优点,通常表现很好
反向传播
整体上理解后向传播
前向传播是从输入到输出的特征抽取与映射过程,而后向传播是从输出向输入方向计算梯度并更新参数的过程
- 输入层的信息传递:输入原始的数据
- 利用已有的w和b以及激活函数计算卷积核作用下的特征图:初始时候的w\b是随机的,但是后面经过几轮后就不是随机的
- 通过卷积操作得到第一层的特征图,然后经过激活函数)非线性变换后得到激活特征
- 第一层特征图多层卷积和池化:逐渐抽取更加抽象的特征图,这些特征会被传递到更深层的网络结构中
- 预测输出y:最终从输出层得到预测值,这就是前向流程
- 误差与反向传播:根据预测值与真实标签的差异(Loss),通过反向传播计算对各层参数的梯度,并更新每一层的权重(包括卷积核的权重w和偏置b)使网络逐步逼近正确的映射函数
前向传播与后向传播
CNN结构
输入图像 -> 多层卷积(+激活+池化) -> Flatten(展平) -> 全连接层 -> 输出层
在此流程中,卷积层侧重空间特征提取,全连接层则对全局特征进行综合与映射,从而产生最终的分类决策或回归值
前后传播的关系
在前向传播中,信息从输入层依次通过卷积层、激活、池化层、全连接层最终到输出层。在反向传播中,梯度从输出层出发,依次回流到全连接层、再到卷积层,最终传递到最初的卷积核参数,更新权重,使网络在下一次前向传播时能够产生更好的预测。整个训练过程不断迭代,直到收敛或达到预期的效果
整体角度看前向传播和后向传播的关系
- 前向传播:输入数据通过网络的各层(如卷积层、池化层、全连接层等)进行计算,最终产生输出
- 计算损失:将网络的输出与真实标签进行比较,使用损失函数(如交叉熵损失、均方误差等)计算误差
- 反向传播:通过计算损失函数相对于网络中各个参数(如权重和偏置)的梯度,确定参数调整的方向和幅度
- 参数更新:优化算法(如梯度下降、Adam等)根据计算得到的梯度更新网络参数,以减少未来的损失
- 重复迭代:将更新后的参数用于下一轮的前向传播,整个过程不断循环,直至损失函数收敛或达到预定的训练轮次
全连接神经网络的问题
全连接神经网络在简单任务和小规模数据集上表现良好,但在面对复杂、高维、具有空间或序列结构的数据时,其缺点显得尤为明显
参数数量庞大
全连接神经网络中的每一层神经元与下一层神经元相连接,这样也就意味着随网络层数和每层神经元数量增减,参数数量会呈现指数级的上涨
- 计算资源消耗大:需要大量的内存和计算能力,训练时间长
- 存储需求高:模型文件变得非常大,不便于存储和传输
过拟合问题
由于参数众多,全连接网络具有很强的表达能力,容易在训练数据上表现出色,但在未见过的数据上表现不佳,即过拟合
- 泛化能力差:在真实应用中,模型的表现不稳定,难以适应新数据
- 需要更多正则化手段:如Dropout、L2正则化等,增加了模型训练的复杂性
缺乏空间结构感知
全连接网络无法有效利用输入数据的空间结构(如图像的二维结构),因为每个输入神经元与每个隐藏神经元全连接,忽略了局部特征和空间关系
简单来说全连接神经网络在分析图片的时候太重视部分,而会忽略整体,这样就导致图像整体内容不明晰
- 效率低下:无法捕捉局部特征,导致需要更多的神经元和参数来学习相同的信息
- 性能受限:在处理具有明显空间结构的数据(如图像、视频)时,表现不如卷积神经网络(CNN)等专门设计的网络
计算复杂性高
全连接网络在前向和反向传播过程中涉及大量的矩阵乘法运算,计算复杂度高,尤其是在处理高维输入时
- 训练时间长:尤其是在大规模数据集和深层网络结构下,训练时间可能变得不可接受
- 实时应用受限:在需要快速响应的应用场景中,全连接网络可能无法满足实时性要求
缺乏参数共享
全连接网络中每个神经元的权重都是独立的,没有参数共享机制。这导致相同的特征需要在不同位置被重复学习
- 参数冗余:相同或相似的特征在不同位置被重复学习,导致模型复杂且参数浪费
- 学习效率低:需要更多的训练数据和时间来学习相同的信息
不适合序列化数据
如果试图记住一篇文章的每个单词而不考虑它们的顺序,那么理解文章的意义将变得非常困难。同样,处理序列数据(如文本、时间序列)时,顺序信息至关重要
- 性能不足:在自然语言处理、时间序列预测等任务中,全连接网络往往表现不佳
- 无法捕捉长距离依赖:难以记住和利用数据中远距离的依赖关系
难以拓展到高维数据
随着输入数据维度的增加,全连接网络的参数数量呈指数增长,导致模型难以扩展和训练。这个就像一个仓库中如果需要管理的类型增多的话,就会导致管理变的十分困难
- 扩展性差:在高维数据(如高分辨率图像、复杂特征向量)下,全连接网络难以有效工作
- 训练不稳定:高维参数空间导致优化过程复杂,容易陷入局部最优或梯度消失/爆炸问题
相关文章:
【全连接神经网络】核心步骤及其缺陷
前向传播 计算公式(其中一种) x1/x2:输入值,一般是神经网络上一层的输出或者输入数据本身,上图中表示两个节点w11 w13:权重,在神经网络中,权重是学习的参数,表示每个输入…...
【Vulkan入门】11-CreateCommandBuffer
[TOC]目录 先叨叨 先叠个甲,我个人都觉得本篇有点灌水的嫌疑。 到上篇为止,已经创建好了Pipeline。接下来就是要给Pipeline发指令进行渲染了。 从一开始就不断强调,发给Vulkan的指令要通过Queue发送给Device。命令不是一条一条推到Queue中的…...
Redis原理—4.核心原理摘要
大纲(9870字) 1.Redis服务器的Socket网络连接建立 2.Redis多路复用监听与文件事件模型 3.基于队列串行化的文件事件处理机制 4.完整的Redis Server网络通信流程 5.Redis串行化单线程模型为什么能高并发 6.Redis内核级请求处理流程与原理 7.Redis通信协议与内核级请求数据…...
面向对象系统的分析和设计
来源:《设计模式精解-GOF23种设计模式解析》 作者:k_eckel k_eckels mindview - 博客园 (cnblogs.com) --------- 面向对象系统的分析和设计实际上追求的就是两点: (1)高内聚 (2)低耦合 …...
单片机:实现交通信号灯(附带源码)
使用单片机实现交通信号灯控制系统是一个经典的嵌入式系统应用。这个项目可以帮助你理解如何通过单片机控制不同颜色的LED灯、处理时间控制、以及输入输出的基本操作。通过这个项目,你将掌握如何设计交通信号灯的时序控制、如何实现定时控制交通灯的切换、以及如何与…...
小白如何学习看懂CAD图纸?
首先,你需要了解CAD图纸的基本构成,包括图例、尺寸标注、比例等等。接着,你可以通过一些专业的书籍、在线课程或视频教程来逐步学习如何识别和理解这些元素。但建议不要学的太复杂了。 掌握基本概念: 坐标系:了解CAD…...
HarmonyOS-高级(一)
文章目录 一次开发、多端部署自由流转 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月09日12点19分 一次开发、多端部署 布局能力 自适应布局 拉伸能力均分能力占比能力缩放…...
Datawhale AI 冬令营(第一期)定制你的第一个专属模型-学习笔记
最近我报名参加了Datawhale组织的主题为“动手学系列,人人都能应用的AI”的Datawhale AI冬令营(第一期)。 本次学习一共12天,从12月10日-12月21日,学习会包含【跑通速通手册】,【学习大模型微调&数据集…...
群控系统服务端开发模式-应用开发-登录退出发送邮件
一、登录成功发送邮件 在根目录下app文件夹下controller文件夹下common文件夹下,修改Login.php,代码如下 <?php /*** 登录退出操作* User: 龙哥三年风水* Date: 2024/10/29* Time: 15:53*/ namespace app\controller\common; use app\controller\Em…...
app-2 App 应用抓包之 Postern+Charles
一、前言 本篇是基于 Postern Charles 方式对安卓应用数据包进行抓取。可以抓取到市面上大多数的app数据包。 二、环境准备 postern:postern下载地址 charles:Charles 4.5.6 中文版(便携免安装).rar 提取码:6d8f 三、配置及抓包测试 3.…...
cnocr配置及训练测试
cnocr配置及训练测试 1,相关链接2,已有模型调用测试(1)下载相关模型(2)Cnstd文本检测模型(3)模型调用解析脚本 3,自定义数据集训练测试(1)标签转换…...
【优选算法 前缀和】前缀和算法模板详解:一维前缀 & 与二维前缀和
一维前缀和 题目解析 算法原理 解法一:暴力解法 简单模拟,读完题意有 q 次询问,给哪两个数,就求哪段区间的和并且返回,这样的做法,时间复杂度为O(N*q),这个时间复杂度会超时…...
【记录】用JUnit 4的@Test注解时报错java.lang.NullPointerException的原因与解决方法
项目场景: 在练习黑马点评的逻辑过期解决缓存击穿时,编写了一个预热缓存数据的单元测试 SpringBootTest public class HmDianPingApplicationTests {Resourceprivate ShopServiceImpl shopService;Testpublic void testSaveShop() throws InterruptedE…...
Transformer入门(6)Transformer编码器的前馈网络、加法和归一化模块
文章目录 7.前馈网络8.加法和归一化组件9.组合所有编码器组件构成完整编码器 7.前馈网络 编码器块中的前馈网络子层如下图所示: 图1.32 – 编码器块 前馈网络由两个带有ReLU激活函数的全连接层组成。全连接层(Fully Connected Layer)有时也…...
(七)腾讯cloudstudio+Stable-Diffusion-webui AI绘画教程-安装Stable-Diffusion-WebUI
一、说明 本文选择安装stable-diffusion-webui最新版本 cloud studio 免费版最大的问题是空间不足,我晚上上传时超过了硬盘大小,直接不能启动,没办法,删除,又建了一个工作空间 二、安装 1、打开终端 2、配置Git代理…...
算法基础Day7(动态规划)
文章目录 1.题目2.题目解答1.第N个泰波那契数题目及题目解析动态规划算法学习1.状态表示2.状态转移方程3.初始化4.填表顺序5.空间优化 代码提交空间优化 2.三步问题题目及题目解析算法学习代码提交 1.题目 1137. 第 N 个泰波那契数 - 力扣(LeetCode)面试…...
代理IP地址和端口是什么?怎么进行设置?
保护个人隐私、突破地域限制、提升网络安全性是我们不断追求的目标。IP地址与端口一种实现这些目标的重要工具。但是,你可能对它是什么,以及如何设置感到困惑。别担心,本文将为你揭开这些神秘的面纱,让你轻松掌握这项技能。 1.IP…...
一文详解TCP协议 [图文并茂, 明了易懂]
欢迎来到啊妮莫的学习小屋! 目录 什么是TCP协议 TCP协议特点✨ TCP报文格式 三次握手和四次挥手✨ 可靠性 效率性 基于字节流✨ 基于TCP的应用层协议 什么是TCP协议 TCP(传输控制协议, Transmission Control Protocol) 是一种面向连接的, 可靠的, 基于字节流的传输层通…...
js后端开发之Next.js、Nuxt.js 与 Express.js
后端js之Next.js、Nuxt.js 与 Express.js 在现代 Web 开发中,JavaScript 已经成为前后端通用的编程语言,而选择合适的后端框架则是构建高效、可扩展应用程序的关键。本文将带你深入了解三个流行的 JavaScript 后端框架:Next.js、Nuxt.js 和 …...
人工智能概要
目录 前言1.什么是人工智能(Artificial Intelligence, AI)2.人工智能发展的三次浪潮2.1 人工智能发展的第一次浪潮2.2 人工智能发展的第二次浪潮2.3 人工智能发展的第三次浪潮 3.人工智能发展的必备三要素3.1 数据3.2 算法(algorithm…...
spring boot 3集成swagger
Spring Boot 3 集成 Swagger 的过程与之前版本相比有一些变化,主要是因为 springfox 库已经停止更新,并且不再支持新的 Spring Boot 版本。因此,对于 Spring Boot 3 来说,推荐使用 springdoc-openapi 作为集成 Swagger 的解决方案…...
【PlantUML系列】状态图(六)
一、状态图的组成部分 状态:对象在其生命周期内可能处于的条件或情形,使用 state "State Name" as Statename 表示。初始状态:表示对象生命周期的开始,使用 [*] 表示。最终状态:表示对象生命周期的结束&…...
前端缓存页面处理方法
当前一个前端应用新发布时,重新编译后,原来引用的资源文件名都会有变化。如果这个应用的页面在前端浏览器中有缓存,则会导致加载资源失败。怎样去除这种缓存,同时也能尽可能的保证前端访问的性能 ChatGPT said: ChatGPT 这是一个经…...
每日一题 284. 窥视迭代器
284. 窥视迭代器 想要提前知道下一个内容,就需要缓存 class PeekingIterator : public Iterator { public:PeekingIterator(const vector<int>& nums) : Iterator(nums) {// Initialize any member here.// **DO NOT** save a copy of nums and manipula…...
Cesium-(Primitive)-(BoxGeometry)
含实现代码 GISer世界 效果: 以下是 BoxGeometry 类的构造函数属性,以表格形式展示: 属性名类型默认值描述minimumCartesian3盒子的最小 x, y, 和 z 坐标。maximumCartesian3盒子的最大 x, y, 和 z 坐标。vertexFormatVertexFormatVertexFormat.DEFAULT要计算的顶点属性。以下…...
CSS元素宽高特点、类型转化、显式和隐藏(display)
元素的宽高特点 块级元素 可以设置宽高,不可以和其他元素在一行设置宽高时,元素的宽高为设置的值没有设置宽高时,宽度和父级宽高一样,高度由元素内容决定 行级元素 不可以设置宽高,可以和其他元素在一行元素的宽高…...
上市公司投资效率Biddle模型数据(包括最终数据、原始数据及构造说明)2003-2022年
一、计算方式:参考《Journal of accounting and economics》Biddle G C,构建Biddle模型使用企业投资对成长机会的回归模型来估计企业的投资效率,这里成长机会用销售增长率来衡量。回归模型如下图所示: 二、资料范围:包括原始数据…...
矩阵的乘(包括乘方)和除
矩阵的乘分为两种: 一种是高等代数中对矩阵的乘的定义:可以去这里看看包含矩阵的乘。总的来说,若矩阵 A s ∗ n A_{s*n} As∗n列数和矩阵 B n ∗ t B_{n*t} Bn∗t的行数相等,则 A A A和 B B B可相乘,得到一个矩阵 …...
Spring Security6.3 自定义AuthorizationManager问题
项目环境: Springboot3.3.5, 对应的SpringFrameWork6.1,Security为6.3 问题:我想自定义AuthorizationManager接口实现类,在里面判断如果角色为amdin则放行请求; 在AdminAuthorizationManager类的check()方法中pass变量…...
第一部分:基础知识 9 . 视图 --[MySQL轻松入门教程]
在MySQL中,视图(View)是一个命名的SQL查询,它被存储在数据库目录中。视图可以包含来自一个或多个表的数据,并且可以像真实表一样被查询。下面是对MySQL视图的详细讲解: 创建视图 使用 CREATE VIEW 语句来创建视图。语法如下: CREATE [OR REPLACE] [ALGORITHM = {UNDEFIN…...
用GPT零负担学单片机之点亮一颗cpu 第3节 训练or特征匹配?用GPT开发嵌入式
用GPT零负担学单片机之点亮一颗cpu 第3节 训练or特征匹配?AI写代码 大家好,我是小杰学长 如果你是大学生 遇到电子技术 学习 成长 入行难题 我曾经通过大学比赛赚钱 从事嵌入式AI 航天军工 用特别的学习和求职方法线下半年带50+学弟学妹入行开发 主页佳喔威信,给你提供一定资…...
2.6、vue2中侦听属性的变化
2.6.1、侦听属性作用侦听属性的变化其实就是监视某个属性的变化。当被监视的属性一旦发生改变时,执行某段代码。2.6.2、watch配置项监视属性变化时需要使用watch配置项 可以监视多个属性,监视哪个属性,请把这个属性的名字拿过来即可。 i.可以监视Vue的原有属性 ii.如果监视的…...
enable_shared_from_this
用途 struct S {shared_ptr<S> dangerous(){return shared_ptr<S>(this); // dont do this!} };int main() {shared_ptr<S> sp1(new S);shared_ptr<S> sp2 sp1->dangerous();return 0; }考虑以上代码,从一个被shared_ptr管理的struc…...
重生之我在异世界学智力题(2)
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言智力题:逃离孤岛智力题&a…...
深入解析下oracle的number底层存储格式
oracle数据库中,number数据类型用来存储数值数据,它既可以存储负数数值,也可以存储正数数值。相对于其他类型数据,number格式的数据底层存储格式要复杂得多。今天我们就详细探究下oracle的number底层存储格式。 一、环境搭建 1.…...
prometheus
1.安装,tar包,解压即用 tar xf prometheus-2.33.3.linux-amd64.tar.gz -C /app/tools/ 2.创建软链接 ln -s prometheus-2.33.3.linux-amd64/ /app/tools/prometheus 3.进入目录 cd /app/tools/prometheus 4.运行 ./prometheus 5.此时࿰…...
C# 23种设计模式(1)单例模式(单件模式)
一、单例模式介绍 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。这个模式在需要一个对象被共享且全局唯一的情况下非常有用,比如配置对象、日志对象、数据库连接…...
Javaweb:HTML、CSS
学习 资源1 学习资源 2 黑马javaweb HTML 1、基础标签、样式 图片标签:<img> src:绝对路径、相对路径(绝对磁盘路径,网络路径;./当前目录)width:宽度(百分比)height:高度(百分比&…...
SmartDV将SDIO系列IP授权给RANiX开发车联网(V2X)产品
双方的合作将增强符合ISO 26262标准的车联网(V2X)系统的通信和连接能力,加速实现更安全、更智能的汽车系统和车辆创新 加利福尼亚州圣何塞市,2024年12月——灵活、高度可配置、可定制化的半导体设计知识产权(IP&#…...
【Android】创建型设计模式—单例模式、工厂模式、建造者模式
单例模式 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供全局访问点。 单例模式类图: #mermaid-svg-kzf6IdXdYeNOHtP0 {font-family:"trebuchet ms",verdana,arial,sa…...
ida9pro压缩包
资源类型的博客大部分都是为了自己某天换新机了用 下载链接2:ida9.zip 下载链接1:https://mega.nz/folder/yiAiVDAa#T0kogEE7ufqy0x0EpCuOLQ 主目录下该文件为证书文件 ida9中选择它,就可以了...
前端入门之VUE--vue组件化编程
前言 VUE是前端用的最多的框架;这篇文章是本人大一上学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 2、Vue组件化编程2.1、组件2.2、基本使用2.2.1、VueComponent 2、Vue组件化编程 2.1、组件 组件:用来实现…...
C++是如何工作的?
首先来看一个最基本的C程序段。 #include <iostream>int main() {std::cout << "HelloWorld" << std::endl;std::cin.get(); } 第一行 #include 的含义是预处理的意思,这条语句的作用是将一个名为iostream的文件拷贝到源代码中这个…...
JavaScript中的this, 究竟指向什么?
在JavaScript代码的不同位置中,this所指向的数据是不一样的。比如大部分同学都知道,在对象的函数属性方法中,this指向对象本身;在构造函数中,this指向要生成的新对象。事实上,this指向的逻辑不止这几种&…...
JavaWeb学习(3)(Servlet详细、Servlet的三种实现方式(面试)、Servlet的生命周期、传统web.xml配置Servlet(了解))
目录 一、Servlet详细。 (1)基本介绍。 (2)基本作用。 1、接收客户端请求数据。 2、处理请求。 3、完成响应结果。 二、Servlet的三种实现方式。 (1)实现javax.servlet.Servlet接口。 1、基本介绍。 2、代码…...
【图像去雾数据集】URHI数据集介绍
URHI数据集对应论文:RESIDE: A Benchmark for Single Image Dehazing(2017) URHI数据集下载链接:https://sites.google.com/site/boyilics/website-builder/reside 为便于下载,将上述官方提供的链接中百度云链接粘贴如…...
Playwright中Page类的方法
导航和页面操作 goto(url: str, **kwargs: Any): 导航到一个URL。 reload(**kwargs: Any): 重新加载当前页面。 go_back(**kwargs: Any): 导航到会话历史记录中的前一个页面。 go_forward(**kwargs: Any): 导航到会话历史记录中的下一个页面。 set_default_navigation_tim…...
算力介绍与解析
算力(Computing Power)是指计算机系统在单位时间内处理数据和执行计算任务的能力。算力是衡量计算机性能的重要指标,直接影响计算任务的速度和效率。 算力的分类和单位 a. 基础算力:以CPU的计算能力为主。适用于各个领域的计算。…...
CentOS 上如何查看 SSH 服务使用的端口号?
我们知道,linux操作系统中的SSH默认情况下,端口是使用22,但是有些线上服务器并不是使用的默认端口,那么这个时候,我们应该如何快速知道SSH使用的哪个端口呢? 1、通过配置文件查看 cat /etc/ssh/sshd_confi…...
每日算法Day03
1.19.删除链表的倒数第N个节点 算法链接: 19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 类型: 链表 难度: 中等 思路:采用双指针法,控制两个指针之间的距离为n个节点 易错点:返回节点的确定和头节点的处理&…...