深度卷积模型:案例研究
1 为什么要进行案例研究?
过去,计算机视觉中的大量研究都集中在如何将卷积层、池化层以及全连接层这些基本组件组合起来,形成有效的卷积神经网络。
找感觉的最好方法之一就是去看一些示例,就像很多人通过看别人的代码来学习编程一样。我认为一个很好的方法去了解关于如何构建卷积神经网络,就是去看别人构建的高效卷积神经网络。事实证明,一个神经网络结构,如果在一个计算机视觉问题中表现的很好,通常也会在别的问题中表现很好。
在接下来,我们将会,学习一些计算机视觉领域的研究论文。
2 经典网络
LeNet-5的网络架构是:
从一幅32×32×1的图像开始,而LeNet-5的任务是识别手写数字,LeNet-5是针对灰度图像训练的,这就是为什么他是32×32×1。
LeNet-5的第一层使用六个5×5的过滤器,步长为1,padding为0,输出结果是28×28×6,图像尺寸从32×32缩小到28×28,然后进行池化操作。在这篇论文发表的那个年代,人们更喜欢用平均池化;而现在,我们可能用最大池化更多一点。但是在这个例子中,我们进行平均池化,过滤器的宽度为二,步长为二,图像的高度和宽度都缩小两倍,输出结果是一个14×14×6的图像。
在LeNet-5论文发表的年代,当时人们并不使用padding或者valid卷积,这就是为什么每进行一次卷积,图像的高度和宽度都会缩小一半。
接下来继续用16个5×5,步长为1的过滤器进行卷积,新的输出结果是10×10×16,再进行平池化,输出5×5×16。
把5×5×16展平成400个神经单元,建立全连接层,120个神经元每个都全连接这400个单元;再建立一层全连接层,用84维特征生成一个最终结果,
可能有10个可能值,对应识别的0-9这10个数字。现在,用Softmax函数输出十种分类结果
尽管LeNet-5原先是用别的分类器做输出层,而这个分类器现在已经不用了。用现在的标准来看,这是个小型神经网络,大概有6万个参数;而如今你经常会见到千万到亿量级参数的神经网络。不管怎样,如果我们从左往右看这个神经网络,会发现随着网络越来越深,图像的高度和宽度都在缩小,从最初的32×32缩小到28×28,再到14×14,10×10,最后只有5×5;与此同时,随着网络层次的加深,通道数量一直在增加,从1个增加到6个,再到16个。这个神经网络中还有一个模式,至今仍然经常用到,那就是先使用一个或者多个卷积层,后面跟着一个池化层,然后又是若干个卷积层,再接一个池化层,然后是全连接层,最后是输出,这种排列方式很常见。
AlexNet的网络架构是:
AlexNet首先用一张227×227×3的图片作为输入,如果你读了这篇论文,论文提及的是224×224×3的图像,但如果你检查数字,你会发现227×227才合理。
第一层使用96个11×11,步长为4的过滤器,图像尺寸缩小到55×55×96,随后的最大池化层用了3×3的过滤器,尺寸缩小为27×27×96,然后用256个5×5的过滤器进行Same卷积,得到27×27×256,再来一次做最大池化,尺寸缩小到13×13×256。
使用384个3×3的过滤器进行两次Same卷积,得到13×13×384;用256个3×3的过滤器进行卷积,得到13×13×256,进行最大池化,尺寸缩小到6×6×256,把他展平成9216个单元,然后进行一些全连接层,使用Softmax函数输出,看他是1000个可能对象中的哪一个?
Alexnet神经网络结构与LeNet有很多相似之处,不过Alexnet要大很多,AlexNet包含约6000万个参数,AlexNet采用与LeNet相似的构造版块,拥有更多隐藏神经元、在更多数据上训练。Alexnet在ImageNet数据库上训练,使它有优秀的性能。
Alexnet神经网络比LeNet更好地原因是:Relu函数的使用。
VGG-16的网络架构是:
按作者所说,关于VGG-16非常值得注意的一点是:VGG-16没有那么多超参数,结构更简单,更能关注卷积层,使用3×3、步长为1的Same过滤器;最大池化的过滤器都是2×2、步长为2。
假设你要识别224×224×3的图像,在最开始的两层,用64个3×3的过滤器对输入的图像进行Same卷积,得到224×224×64的结果,使用最大池化缩小到112×12×64;接着又是使用2层Same卷积层,结果是112×112×128,经过池化层后,维度是56×56×128;再使用三层Same卷积层,使得维度变成56×56×256,接着使用池化层后维度变成28×28×256;再经过三层Same卷积层变成28×28×512,经过最大池化变成14×14×512。再经过卷积、池化,直到最后维度变成7×7×512,把得到的神经单元展平拉直,通过全连接层,经过Softmax函数输出1000类结果。
VGG-16中的16指该网络有16层带权重的层,这是一个相当大的网络,它总共有一亿三千八百万个参数。即使以现在的衡量标准,也是很大的 。VGG-16结构的简洁性也非常吸引人,看得出这个结构相当统一,先是几层卷积层,再是池化层。另一方面,如果你看卷积层中过滤器数,从64到128到256再到512,每次粗略的双倍增加过滤器的方式是设计神经网络时用的另一个简单原则。
3 ResNets
太深的神经网络训练起来很难,因为有梯度消失和梯度爆炸问题,我们将学习跳跃连接,它可以允许从某一网络层得到激活值,并迅速传递给下一层甚至是更深的神经网络层,利用它你就可以训练网络层很深的残差网络。残差网络是使用了残差结构的网络。
这里有两层神经网络,代表第L层的激活函数,然后是
,两层后得到
。
在这个例子的激活函数,作为输入,计算出
,之后应用非线性激活函数Relu得到
;然后在下一层经过线性计算
,再使用一次Relu函数得到
。换句话说,从
流向
的信息需要经过上面的所有步骤,我把这称做这组层的主路径。
在残差网络中,我们需要做个改变,把直接向后连接到深层神经网络的位置。
这条路径是在进行Relu非线性激活函数之前加上的。也就是,
。
我们来看看下面这个网络,它并不是一个残差网络,而是一个普通网络:
把它变成ResNet的方法是加上所有的跳跃连接,就像这样:
事实证明,如果你使用标准的优化算法(如梯度下降法)来训练普通网络,从经验上来说,你会发现当你增加层数时,训练误差会在下降一段时间后回升;
而理论上,随着网络深度的加深,应该训练的越来越好。如果没有残差网络,对于一个普通网络来说,网络越深意味着用优化算法越难训练,训练错误会越来越多;但是有了ResNet就不一样了,即使网络再深,训练表现也不错,训练错误会减少。
4 ResNets 为何有效?
为什么ResNets这么好用呐?
一个网络深度越深,它会使得你用训练集训练神经网络的能力下降,这也是有时候我们不希望加深网络的原因,但当你训练ResNet的时候就不一样了,我们来看一个例子。
如果你有一个大型神经网络,它的输入是x,输出激活值。
如果你想调整神经网络,使其深度更深一点:
把这两层看作是具有跳跃连接的残差块。为了方便说明,假设我们在整个网络中使用Relu激活函数,所有激活值都大于等于零。
我们看一下的值,也就是
,展开这个表达式,也就是:
。注意一点,如果使用L2正则化或者权重衰减,它会压缩
的值,如果对b使用权重衰减也会达到同样的效果。这里的w是关键项,假设
,如果
,那么
,
。因为我们假设使用Relu激活函数,并且所有激活值都是非负的,
是非负的,所以结果是
,这意味着残差块比较容易学习恒等函数,由于这个跳跃连接也很容易得到
,将这两层加入到你的神经网络,与上面这个没有这两层的网络相比,并不会非常影响神经网络的能力,因为对于它来说学习恒等函数非常容易。所以这就是为什么添加两层,不论是把残差块添加到神经网络的中间还是尾部都不会影响神经网络的表现。
当然,我们的目标并不只是维持原有的表现,而是帮助获得更好的表现。你可以想象,如果这些隐藏单元学习到一些有用信息,那么它可能比学习恒等函数表现的更好;而这些不含残差块或跳跃连接的普通神经网络,情况就不一样了。当网络不断加深时,就算是选择用来学习恒等函数的参数也很困难,所以很多层最后的表现,不但没有更好,反而更糟。
我认为残差网络起作用的主要原因是:这些额外层学习恒等函数非常容易,几乎总能保证它不会影响总体的表现,很多时候甚至可以提高效率,或者说至少不会降低网络效率。
除此之外,关于残差网络另一个值得讨论的细节是:对于,我们是假定
和
具有相同的维度。所以你会看到在ResNet中许多Same卷积的使用。如果输入和输出有不同的维度,假如
是128维,而
和
的结果是256维的,我们可以让
与一个256×128维的
矩阵相乘,也就是
。
相关文章:
深度卷积模型:案例研究
1 为什么要进行案例研究? 过去,计算机视觉中的大量研究都集中在如何将卷积层、池化层以及全连接层这些基本组件组合起来,形成有效的卷积神经网络。 找感觉的最好方法之一就是去看一些示例,就像很多人通过看别人的代码来学习编程一…...
BBR 的 RTT 公平性问题求解
如果 BBR 要跟 reno/cubic 公平,只能顾此失彼,没有任何变通方法,唯一的方法就是在放弃 reno/cubic,但前提你得保证 BBR 流之间是公平的。如果非要照顾 reno/cubic,那就必须要变成 reno/cubic,这就是 BBRv2/…...
SQL命令二:SQL 高级查询与特殊算法
引言 在掌握了 SQL 的基础操作和建表约束后,我们可以进一步探索 SQL 的高级查询功能和一些特殊算法。这些高级技巧能够帮助我们更高效地处理和分析数据,满足复杂的业务需求。 一、查询进阶 (一)简单查询 简单查询通过 select 语…...
Databend 产品月报(2025年4月)
很高兴为您带来 Databend 2025 年 4 月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。 BendDeploy:安装 Databend 的新方式 BendDeploy 是由 Databend 开发的一款基于 Kubernetes 的平台,旨在简化…...
Best Video下载器——全能高清无水印视频下载工具
在当今短视频和流媒体盛行的时代,用户经常遇到想要下载视频却受限于平台限制的情况。无论是收藏喜欢的影视片段、保存有价值的教程,还是进行二次创作,一款高效、免费且支持多平台的视频下载工具显得尤为重要。Best Video下载器正是为此而生&a…...
2025东三省D题深圳杯D题数学建模挑战赛数模思路代码文章教学
完整内容请看文章最下面的推广群 一、问题一:混合STR图谱中贡献者人数判定 问题解析 给定混合STR图谱,识别其中的真实贡献者人数是后续基因型分离与个体识别的前提。图谱中每个位点最多应出现2n个峰(n为人数),但由…...
这些是什么充电模块调试手段,对USB、Thermal、DP
在电子产品开发中,充电模块调试及对相关模块的了解是保障产品性能与稳定性的关键环节。下面为你详细介绍: 充电模块调试手段:充电模块负责将外部电源的电能转化为适用于设备的电能,并对电池进行充电管理。调试手段包括使用专业的…...
Gradio全解20——Streaming:流式传输的多媒体应用(2)——构建对话式聊天机器人
Gradio全解20——Streaming:流式传输的多媒体应用(2)——构建对话式聊天机器人 本篇摘要20. Streaming:流式传输的多媒体应用20.2 构建对话式聊天机器人20.2.1 应用概述20.2.2 记录用户音频20.2.3 存储音频并生成响应20.2.4 构建G…...
字节暑期实习-网络运维工程师面经
岗位描述 这个是ByteIntern实习,是暑期实习岗位 岗位 一面 先自我介绍 抓项目技术(会进行确认是什么技术) TCP的三次握手和四次挥手 序列号和确认应答号的位置和大小 序列号是随机的吗? 序列号为什么是随机的? …...
多用户远程 Debugger 服务隔离方案技术实践
多用户远程 Debugger 服务隔离方案技术实践 摘要: 针对多用户同时连接远程 Debugger 服务可能导致的断点冲突、调试流程干扰等问题,本文基于主流调试工具(如 Python debugpy、Java JDWP、Node.js Inspector 等),梳理和…...
华为发布全球首个L3商用智驾ADS4.0
2024年10月2024世界智能网联汽车大会上,余承东讲到:“华为ADS 4.0将于2025年推出高速L3级自动驾驶商用及城区L3级自动驾驶试点,希望加快L3级自动驾驶标准的进程,推动L3级自动驾驶技术的普及。” 世界智能网联汽车大会演讲PPT 所以…...
Silo 科学数据工具库安装与使用指南
Silo 科学数据工具库安装与使用指南 Silo 是一个用于科学数据可视化和分析的工具库,由 Lawrence Livermore National Laboratory (LLNL) 开发。以下是 Silo 的安装和使用方法: 安装 Silo Linux 系统安装 从源码安装: wget https://wci.lln…...
vs2019编译occ7.9.0时,出现fatal error C1060: compiler is out of heap space
问题描述 visual studio 2019编译opencascade 7.9.0时,出现编译错误 fatal error C1060: compiler is out of heap space 解决方案 修改vs2019并行编译的线程个数,默认是12个,我改成了4个,问题解决 Tools > Project and Sol…...
Poco C++全面开发指南:网络应用开发
UDP接收器 项目结构 poco_demo/ ├── CMakeLists.txt ├── src/ │ ├── main.cpp │ └── Receiver.cpp └── include/└── Receiver.h创建 Receiver.h #pragma once#include <Poco/Net/DatagramSocket.h> #include <Poco/Net/SocketAddress.h>…...
Spring AOP概念及其实现
一、什么是AOP 全称Aspect Oriented Programming,即面向切面编程,AOP是Spring框架的第二大核心,第一大为IOC。什么是面向切面编程?切面就是指某一类特定的问题,所以AOP也可以称为面向特定方法编程。例如对异常的统一处…...
业务部绩效考核关键指标与数据分析
在业务部的绩效考核中,重点通过销售额、客户关系、财务管理等多个维度来评估团队的工作成果。绩效考核指标(KPI)不仅帮助公司衡量销售团队的业绩,还能反映出团队在客户管理、财务控制以及市场拓展方面的综合表现。每一个考核指标都…...
线上婚恋相亲小程序源码介绍
基于ThinkPHP、FastAdmin和UniApp开发的线上婚恋相亲小程序源码,这款小程序源码采用了ThinkPHP作为后端框架,其强大的功能与良好的扩展性为程序的稳定运行提供了保障。 FastAdmin作为后台管理框架,使得管理员能够便捷地对用户信息、相亲…...
【SystemC初认识】SystemC是什么?有哪些主要组件?如何简单使用?
【SystemC初认识】SystemC是什么?有哪些主要组件?如何简单使用? 1 SystemC简介2 主要组件3 关于时序与调度4 如何安装4.1 安装C编译器4.2 安装SystemC 库 5 SystemC代码示例6 关于SystemC 仿真与调度7 SystemC 中的常用类和函数8 常见的设计模…...
软考:硬件中的CPU架构、存储系统(Cache、虚拟内存)、I/O设备与接口
文章目录 1. 引言1.1 硬件知识的重要性1.2 软件设计师考试中硬件的考察目标 2. CPU架构2.1 CPU的基本概念2.2 CPU的内部结构2.3 CPU的工作原理2.4 指令集架构(ISA)2.5 多核处理器 3. 存储系统3.1 存储器的基本概念3.2 主存储器(RAM࿰…...
力扣hot100——98.验证二叉搜索树
题目链接:98. 验证二叉搜索树 - 力扣(LeetCode) 首先列举一个错误代码 class Solution { public:bool isValidBST(TreeNode* root) {if(rootnullptr) return true;if(root->right){if(root->right->val<root->val) return f…...
UE 像素和线框盒子 材质
像素材质: 线框盒子材质:...
工业质检领域相关近期顶会论文汇总CVPR2025
目录 异常检测Anomaly Detection多类别数据集开集有监督异常检测Open-set Supervised Anomaly Detection(OSAD)基于多模态大模型能力 骨干网络Mamba系列(mamba为transformer后的新骨干网络形式)其他 目标检测开集识别DETR实例检测…...
leetcode76
目录 803ms超时。。。。越改越超时。。。 一些纠缠 代码分析: 代码问题: 改进建议: 示例代码: The error message you’re seeing indicates that there is a reference binding to a null pointer in your code. This typ…...
Android Studio下载安装教程
## 什么是Android Studio Android Studio是Google官方推出的Android应用开发集成环境(IDE),基于IntelliJ IDEA开发,专门用于Android应用开发。它包含了代码编辑器、可视化布局编辑器、应用性能分析工具、模拟器等功能,为开发者提供了一站式的…...
shell---expect
1.expect的安装 [rootqfedu ~] yum -y install expect 2.expect的语法: 用法: 1)定义expect脚本执行的shell #!/usr/bin/expect -----类似于#!/bin/bash 2)spawn spawn是执行expect之后后执行的内部命令开启一个会话 #功能:用来执行shell的交互命令 3)…...
基于PHP的在线编程课程学习系统
有需要请加文章底部Q哦 可远程调试 基于PHP在线编程课程学习系统 一 介绍 在线编程课程学习系统基于原生PHP开发,数据库mysql,前端jquery.js。系统角色分为学生,教师和管理员。(附带参考设计文档) 技术栈:phpmysqljquery.jsphps…...
深度学习概述
近年来,我们在媒体上到处可见人工智能(AI)这个词,而深度学 习是人工智能的一种实现方法。下面我们就来简单地看一下深度学习具 有怎样划时代的意义。 下面是三张花的图片,它们都具有同一个名字,那究竟是什…...
[原创](现代Delphi 12指南):[macOS 64bit App开发]: [1]如何使用原生NSAlert消息框 (runModal模式)
[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…...
【NumPy完全指南】从基础操作到高性能计算实战
📑 目录 一、NumPy核心价值1.1 科学计算现状分析1.2 ndarray设计哲学 二、核心数据结构解析2.1 ndarray内存布局2.2 数据类型体系 三、矢量化编程实践3.1 通用函数(ufunc)示例3.2 广播机制图解 四、高性能计算进阶4.1 内存预分配策略4.2 Cython混合编程 五、典型应用…...
深入解析词嵌入(Word2Vec、GloVe)技术原理:从词语到向量的转变
📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4o-mini模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准…...
Android学习总结之点击登录按钮流程
1. 事件分发阶段 1.1 触摸事件产生 当用户点击屏幕上的登录按钮时,触摸屏硬件会检测到触摸操作,并将触摸事件的相关信息(如触摸的坐标、触摸的时间等)传递给 Android 系统的 InputManagerService。 1.2 Activity 接收事件 Inp…...
多数元素题解(LC:169)
169. 多数元素 核心思想(Boyer-Moore 投票算法): 解题思路:可以使用 Boyer-Moore 投票算法、该算法的核心思想是: 维护一个候选元素和计数器、初始时计数器为 0。 遍历数组: 当计数器为 0 时、设置当前元…...
C# 在VS2022中开发常用设置
一、基础环境配置 1. 安装必要组件 在 VS2022 安装时确保勾选以下工作负载: 使用 .NET 的桌面开发(包含 WPF/WinForms)ASP.NET 和 Web 开发.NET 跨平台开发Azure 开发数据存储和处理 2. 主题与外…...
三个概念:DataBinding,Dependency Property 与DataTemplate
WPF 核心概念详解:DataBinding、Dependency Property 和 DataTemplate 1. DataBinding (数据绑定) 基本概念 DataBinding 是 WPF 的核心机制,用于在 UI 元素和数据源之间建立自动同步关系。 关键特性 双向绑定:数据变化自动反映到 UI&…...
基于C#开发的适合Windows开源文件管理器
使用DDD从零构建一个完整的系统 推荐一个功能强大且直观的开源文件管理器,适用于Windows平台。 01 项目简介 该项目是一个基于C#开发、开源的文件管理器,适用于Windows,界面UI美观、方便轻松浏览文件。此外,支持创建和提取压缩…...
nacos和redis本地启动
1. 下载Nacos 首先,你需要从Nacos的官方GitHub仓库下载最新版本的Nacos服务器。你可以访问Nacos GitHub页面来下载。 2. 解压下载的文件 下载完成后,解压你下载的Nacos包到一个目录中。例如,你可以将其解压到~/nacos/。 3. 启动Nacos服务…...
时态--00--总述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 时态句子结构时态标志词 时态 句子结构 时态标志词...
PH热榜 | 2025-04-30
1. Daytona 标语:安全且灵活的基础设施,用于运行你的人工智能生成的代码。 介绍:Daytona Cloud 为 AI 智能体重塑了基础设施,具备不到 90 毫秒的启动时间、原生性能以及有状态执行的能力,这些是传统云计算所无法实现…...
.NET Core 数据库ORM框架用法简述
.NET Core ORM框架用法简述 一、主流.NET Core ORM框架概述 在.NET Core生态系统中,主流的ORM(Object-Relational Mapping)框架包括: Entity Framework Core (EF Core) - 微软官方推出的ORM框架Dapper - 轻量级微ORMNpgsql.Entit…...
在Windows系统上如何用Manifest管理嵌入式项目
相信很多Android开发出身的工程师对于manifest、repo和gerrit会有一定的好感,即使转行做了其他的行业,也希望可以延续Android的代码管理风格。这里记录了一个在汽车电子行业使用GerritrepoManifest来管理嵌入式项目的方法,希望对读者有帮助。…...
Qt -DFS可视化
博客主页:【夜泉_ly】 本文专栏:【暂无】 欢迎点赞👍收藏⭐关注❤️ 目录 前言关于如何sleep实现思路Pixmapspixmaps.hpixmaps.cpp MapSquaremapsquare.hmapsquare.cpp dfsthreaddfsthread.hdfsthread.cpprun dfs其他 WidgetUnit其他 Qt -DFS…...
H.264添加 SEI 信息技术文档
概述 本文档描述如何在 H.264 视频流中动态插入自定义 SEI信息。SEI 是 H.264/AVC 标准中定义的一种元数据格式,可用于携带时间戳、版权信息、场景标记等附加数据。本方案基于 FFmpeg 的 AVPacket 结构和标准 H.264 NAL 单元格式实现,支持与视频帧的精确…...
ICMP协议
ICMP协议 一、ICMP基本概念 1、ICMP协议 Internet控制报文协议,用于在IP主机、路由器之间传递控制消息,控制消息指网络通不通、主机是否可达、路由是否可用等等ICMP是属于网络层的协议,封装在传输层与网络层之间 2、ICMP报文格式 类型 (t…...
react中封装一个预览.doc和.docx文件的组件
主要用到了mammoth这个插件,mammoth.js是一个JavaScript库,主要用于将Microsoft Word文档(.docx格式)转换为HTML。它可以通过Node.js环境使用,也可以直接在浏览器中使用。 关键代码: import mammoth from mammoth; import { u…...
驾驭音质,尽享四通道力量——AXPA17851
AXPA17851: 4x48W 车用AB类四通道桥式输出音频功率放大器 AXPA17851是采用BCD(双极型,CMOS,DMOS)工艺技术设计的四通道桥式输出AB类车用音频功率放大器,采用完全互补的P型/ N型输出结构, 具有轨到轨的输出电压摆幅,高输…...
人格伤疤测试:发现内心深处的情感创伤
人格伤疤测试:发现内心深处的情感创伤 工具介绍 我们开发了一个专业的人格伤疤测试工具,帮助您发现和了解内心深处的情感创伤。这个在线测评从十个关键维度全面评估您的心理状态: 核心维度 情感创伤: 评估童年经历对当前情绪的影响自我认…...
CANopen协议简单介绍和使用
文章目录 一、CAN总线介绍二、CAN总线的帧类型三、CAN总线的特性四、Linux中的CAN帧驱动结构体五、CAN总线升级版本-CANFD六、更高层封装的协议-应用层封装的CANopen协议总结 一、CAN总线介绍 CAN总线(Controller Area Network) 是一种串行通信协议&…...
数据隐私在Web3环境下的重要性及实现方法
在这个信息爆炸的时代,我们正站在 Web3 的门槛上,迎接着一个全新的网络架构和用户交互方式。Web3 不仅仅是技术的迭代,它还代表了一种全新的网络架构和用户交互方式。在 Web3 环境下,数据隐私成为了一个至关重要的话题。本文将探讨…...
【每日八股】复习 Redis Day4:线程模型
文章目录 复习 Redis Day4:线程模型介绍一下 Redis 的线程模型核心线程模型(Redis 6.0 之前)Redis 6.0 的多线程改进Redis 真的是单线程吗?Redis 的线程模型剖析 上一篇 Redis 的应用我今天才完成,因此明天一并复习 Re…...
手动创建一份konga对应helm的chart项目
rootiZj6c72dzbei17o2cuksmeZ:~/yaml/konga# helm create konga-chart Creating konga-chart更改对应的文件 deployment.yaml rootiZj6c72dzbei17o2cuksmeZ:~/yaml/konga/konga-chart# cat templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: k…...