DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection
DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection
清华、苹果
个人感觉
Introduction 很自然的让读者理解作者问题的提出,也有例子直接证明了这个问题的存在,值得借鉴!!
Related work写的也很不错
3.2的方法写的也不错
摘要
视觉异常检测是计算机视觉领域的一个重要问题,通常被表述为单类分类和分割任务。学生-老师 (S-T) 框架已被证明能够有效解决这一挑战。然而,之前基于 S-T 的研究仅凭经验对正常数据施加约束并融合多层信息。
在本研究中,我们提出了一种改进的模型,称为 DeSTSeg,它将预先训练的教师网络、去噪学生编码器-解码器和分割网络集成到一个框架中。首先,为了加强对异常数据的约束,我们引入了一个去噪程序,使学生网络能够学习更稳健的表示。从合成损坏的正常图像中,我们训练学生网络以匹配相同图像的教师网络特征而不会损坏。其次,为了自适应地融合多级 S-T 特征,我们训练了一个具有合成异常掩码丰富监督的分割网络,实现了显着的性能提升
一、 Intrduction
The student-teacher (S-T) framework, known as knowledge distillation, has proven effective in AD [3, 9, 26, 31,33]. In this framework, a teacher network is pre-trained on a large-scale dataset, such as ImageNet [10], and a student network is trained to mimic the feature representations of the teacher network on an AD dataset with normal samples only. The primary hypothesis is that the student network will generate different feature representations from the teacher network on anomalous samples that have never been encountered in training. Consequently, anomalous pixels and images can be recognized in the inference phase. Notably, [26, 31] applied knowledge distillation at various levels of the feature pyramid so that discrepancies from multiple layers were aggregated and demonstrated good performance. However, there is no guarantee that the features of anomalous samples are always different between S-T networks because there is no constraint from anomalous samples during the training. Even with anomalies, the student network may be over-generalized [22] and output similar feature representations as those by the teacher network. Furthermore, aggregating discrepancies from multilevel in an empirical way, such as sum or product, could be suboptimal. For instance, in the MVTec AD dataset under the same context of [31], we observe that for the category of transistor, employing the representation from the last layer, with 88.4% on pixel-level AUC, outperforms that from the multi-level features, with 81.9% on pixel-level AUC.
学生-老师 (S-T) 框架,即知识蒸馏,已被证明在 AD 中是有效的 [3, 9, 26, 31, 33]。在这个框架中,老师网络在大型数据集(例如 ImageNet [10])上进行预训练,学生网络在仅包含正常样本的 AD 数据集上训练以模仿老师网络的特征表示。主要假设是学生网络将在训练中从未遇到过的异常样本上生成与老师网络不同的特征表示。因此,可以在推理阶段识别异常像素和图像。值得注意的是,[26, 31] 在特征金字塔的各个级别应用知识蒸馏,以便聚合来自多个层的差异并表现出良好的性能。然而,不能保证异常样本的特征在 S-T 网络之间总是不同的,因为在训练期间没有来自异常样本的约束。即使存在异常,学生网络也可能过度概括 [22],并输出与教师网络相似的特征表示。此外,以经验方式(例如求和或乘积)聚合来自多级的差异可能不是最优的。例如,在 [31] 相同背景下的 MVTec AD 数据集中,我们观察到对于晶体管类别,使用最后一层的表示(像素级 AUC 为 88.4%)优于来自多级特征的表示(像素级 AUC 为 81.9%)。
总的来说两个问题:
- 蒸馏的假设问题,在异常数据上一定会出现 教师和学生分歧的问题吗
- 使用相加或者乘积的方式一定会对于最终的异常检测结果的汇总会好吗?
- 作者已经通过实验发现相加和乘积在一些数据上不是最好的结果例如晶体管类别
解决方案
为了解决上述问题,我们提出了 DeSTSeg,如图 1 所示,它由去噪学生网络、教师网络和分割网络组成。我们在正常图像中引入随机合成异常,然后使用这些损坏的图像 1 进行训练。去噪学生网络以损坏的图像作为输入,而教师网络以原始干净图像作为输入。在训练期间,两个网络之间的特征差异被最小化。换句话说,学生网络被训练在特征空间中执行去噪。将异常图像作为两个网络的输入,教师网络将异常自然地编码为特征,而训练后的去噪学生网络将异常从特征空间中过滤掉。因此,这两个网络得到强化,以从异常输入中生成不同的特征。对于去噪学生网络的架构,我们决定使用编码器-解码器网络来实现更好的特征去噪,而不是采用与教师网络相同的架构。此外,我们没有使用经验聚合,而是附加了一个分割网络,以可训练的方式融合多级特征差异,并使用生成的二元异常掩码作为监督信号。
我们的主要贡献概括如下。(1)我们提出了一种去噪学生编码器-解码器,该解码器经过训练,可以在异常输入下明确生成与老师不同的特征表示。(2)我们采用分割网络自适应地融合多级特征相似性,以取代经验推理方法。(3)我们在基准数据集上进行了广泛的实验,以证明我们的方法对各种任务的有效性。
二、相关工作
异常检测与定位已从多个角度得到研究。在图像重建中,研究人员使用自动编码器 [4]、变分自动编码器 [1, 30] 或生成对抗网络 [21, 27, 28] 在正常数据上训练图像重建模型。假设异常图像在训练期间不会被看到,因此无法有效地重建,因此输入图像和重建图像之间的差异可用作像素级异常分数。然而,由于过度泛化问题,**异常区域仍然有机会被准确重建 [22]。**另一个视角是参数密度估计,它假设正常数据的提取特征服从某种分布,例如多元高斯分布 [8, 15, 16, 23],并使用正常数据集来估计参数。然后,通过推理将异常数据识别为异常数据。由于高斯分布假设过于严格,一些近期研究借用了正则化流的思想,通过将任意分布投影到高斯分布来近似任何分布的密度 [13, 35]。此外,基于记忆的方法 [7,19,24,34] 在训练中构建正常数据的记忆库。在推理过程中,给定一个查询项,模型会在记忆库中选择最近的项,并使用查询项与最近项之间的相似性来计算异常分数。
知识提炼。
知识提炼基于预训练的教师网络和可训练的学生网络。由于学生网络是在无异常数据集上训练的,因此其异常特征表示预计与教师网络的特征表示不同。过去已经提出了许多解决方案来提高对各种类型异常的区分能力。例如,[3] 使用集成学习来训练多个学生网络,并利用其特征表示的不规则性来识别异常。[31] 和 [26] 采用多级特征表示对齐来捕获低级和高级异常。[9] 和 [33] 为学生网络设计了解码器架构,以避免 S-T 网络之间架构相同和数据流相同的缺点。这些工作侧重于提高 S-T 表示在正常输入上的相似性,而我们的工作还试图区分它们在异常输入上的表示。
异常模拟。
虽然在单类分类 AD 的背景下没有异常数据可供训练,但可以模拟伪异常数据,以便以监督的方式训练 AD 模型。经典的异常模拟策略,如旋转 [12] 和剪切 [11],在检测细粒度异常模式 [16] 方面表现不佳。一种简单而有效的策略称为 CutPaste [16],它随机选择原始图像内的矩形区域,然后将内容复制并粘贴到图像内的不同位置。[36] 中提出并在 [37] 中采用的另一种策略使用二维 Perlin 噪声来模拟更逼真的异常图像。利用模拟的异常图像和相应的地面真实掩码,[29, 36, 37] 使用分割网络对异常进行局部化。在我们的系统中,我们采用 [36] 的思想进行异常模拟和分割。
总的来说是多种噪声模拟的方式
图 1. DeSTSeg 概览。训练期间生成并使用合成异常图像。在第一步 (a) 中,使用合成输入训练学生网络,以从干净图像生成与教师网络类似的特征表示。在第二步 (b) 中,将学生和教师网络的归一化输出的元素乘积连接起来并用于训练分割网络。分割输出是预测的异常分数图。
三、 方法
提出的 DeSTSeg 由三个主要部分组成:预训练的教师网络、去噪学生网络和分割网络。如图 1 所示,将合成异常引入正常训练图像中,并分两步训练模型。
- 在第一步中,模拟异常图像用作学生网络输入,而原始干净图像则作为教师网络的输入。教师网络的权重是固定的,但用于去噪的学生网络是可训练的。
- 在第二步中,学生模型也是固定的。学生和教师网络都将合成异常图像作为输入,以优化分割网络中的参数来定位异常区域。
- 对于推理,以端到端模式生成像素级异常图,并通过后处理计算相应的图像级异常分数。
3.1. 合成异常生成
我们的模型训练依赖于合成异常图像,这些图像使用 [36] 中提出的相同算法生成。生成随机二维 Perlin 噪声,并按预设阈值进行二值化,以获得异常掩码 M 。通过用无异常图像内部 和来自外部数据源 A 的任意图像的线性组合替换掩码区域来生成异常图像 Ia ,不透明度因子 β 在 [0.15, 1] 之间随机选择。
表示元素乘法运算。异常生成在训练期间在线进行。通过使用该算法,可以引入三个好处。首先,与绘制矩形异常掩模[16]相比,随机Perlin噪声生成的异常掩模更加不规则,与实际异常形状相似。其次,用作异常内容A的图像可以任意选择,而无需精心选择[36]。第三,不透明度因子β的引入可以看作是一种数据增强[38],可以有效增加训练集的多样性。
3.2. 去噪学生-教师网络
在以前的多级知识提炼方法 [26, 31] 中,学生网络的输入(正常图像)与教师网络的输入相同,学生网络的架构也是如此。然而,我们提出的去噪学生网络和教师网络将成对的异常和正常图像作为输入,去噪学生网络具有不同的编码器解码器架构。在以下两段中,我们将探讨这种设计的动机。首先,如第 1 节所述,应建立一个优化目标,以鼓励学生网络生成不同于教师的异常特定特征。我们进一步赋予学生网络一个更直接的目标:在教师网络监督的异常区域上构建正常特征表示。由于教师网络已经在大型数据集上进行了预训练,因此它可以在正常和异常区域生成判别性特征表示。因此,去噪学生网络在推理过程中将生成与教师网络不同的特征表示。此外,如第 2 节所述,基于记忆的方法在记忆库中寻找与查询项目最相似的正常项目,并使用它们的相似性进行推理。同样,我们优化去噪学生网络以重建正常特征。其次,考虑到特征重建任务,我们得出结论,学生网络不应复制教师网络的架构。考虑到重建早期层特征的过程,众所周知,CNN 的较低层捕获局部信息,例如纹理和颜色。相反,CNN 的上层表达全局语义信息 [9]。回想一下,我们的去噪学生网络应该从教师网络中重建相应正常图像的特征,这样的任务依赖于图像的全局语义信息,并且不能仅靠几个较低层完美完成。我们注意到,所提出的任务设计类似于图像去噪,不同之处在于我们希望在特征空间中对图像进行去噪。编码器解码器架构广泛用于图像去噪。因此,我们采用它作为去噪学生网络的架构。还有一种替代方法是使用教师网络作为编码器,并将学生网络反转为解码器 [9, 33];然而,我们的初步实验结果表明,完整的编码器-解码器学生网络表现更好。一种可能的解释是,预先训练的教师网络通常在 ImageNet 上使用分类任务进行训练;因此,最后一层的编码特征缺乏足够的信息来重建各级特征表示。
按照 [31],教师网络是一个经过 ImageNet 预训练的 ResNet18 [14],其中删除了最后一个块(即 conv5 x)。输出特征图从剩余的三个块中提取,即 conv2 x、conv3 x 和 conv4 x,分别表示为 T 1 T ^1 T1、 T 2 T ^2 T2 和 T 3 T ^3 T3。对于去噪学生网络,编码器是一个随机初始化的 ResNet18,所有块分别命名为 S E 1 S^1_E SE1 、 S E 2 S^2_E SE2 、 S E 3 S^3_E SE3 和 S E 4 S^4_E SE4 。解码器是一个反向 ResNet18(通过用双线性上采样替换所有下采样),有四个残差块,分别命名为 S D 4 S^4_D SD4 、 S D 3 S^3_D SD3 、 S D 2 S^2_D SD2 和 S D 1 S^1_D SD1 。
我们最小化 T k T ^k Tk 和 S D k S^k_D SDk 中的特征之间的余弦距离, k = 1 , 2 , 3 k = 1, 2, 3 k=1,2,3。 F T k ∈ R C k × H k × W k F_{T_k} ∈ R^{C_k ×H_k ×W_k} FTk∈RCk×Hk×Wk 表示来自 T k T_k Tk 层的特征表示, F S k ∈ R C k × H k × W k F_{S_k} \in R^{C_k ×H_k ×W_k} FSk∈RCk×Hk×Wk 是来自 S D k S^k_ D SDk 层的特征表示,余弦距离可以通过公式 (2) 和公式 (3) 计算。 i i i 和 j j j 代表特征图上的空间坐标。具体而言, i = 1... H k i = 1...H_k i=1...Hk 和 j = 1... W k j = 1...W_k j=1...Wk。损失是三个不同特征级别的距离之和,如公式 (4) 所示。
相关文章:
DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection
DeSTSeg: Segmentation Guided Denoising Student-Teacher for Anomaly Detection 清华、苹果 个人感觉 Introduction 很自然的让读者理解作者问题的提出,也有例子直接证明了这个问题的存在,值得借鉴!! Related work写的也很不…...
Xilinx Blockset Gateway In 和Gateway out模块使用及参数配置
目录 一、Gateway InSimulink数据到System Generator数据的转换Gateway BlocksBlock Parameters(模块参数)Basic选项卡参数Implementation选项卡参数 二、Gateway OutGateway BlocksBlock Parameters(模块参数)Basic选项卡参数Imp…...
set up RAGFlow on your Mac
个人思考:这些仅仅是工具,和人的思维实际还是有很大差距。 可能是我认知片面,你需要投喂大量的内容给它,它自己其实并不会思考,只是从它的认知里告诉它他知道的东西。举个不太巧当的例子,和以往的方式恰恰相…...
SSM搭建(1)——配置MyBatis
目录 一、框架概述 1.什么是JDBC? 2.JDBC基本流程 3.JDBC的缺点 二、MyBatis的入门程序 1. 创建数据库和表结构 2. MyBatis入门流程总结 3. MyBatis的入门步骤 (1) 创建maven的项目,创建Java工程即可。 &…...
SickOs: 1.1靶场学习小记
学习环境 kali攻击机:Get Kali | Kali Linux vulnhub靶场:https://download.vulnhub.com/sickos/sick0s1.1.7z 靶场描述: 这次夺旗赛清晰地模拟了在安全环境下如何对网络实施黑客策略从而入侵网络的过程。这个虚拟机与我在进攻性安全认证专…...
Flume 监控配置和实践
要解释 Flume 的监控机制,需要了解 Flume 是如何设计其监控架构的,以及如何将性能指标暴露给用户或集成工具。下面我将详细分解 Flume 的监控机制,从基础架构、实现原理到源码解析,并提供非专业人也能理解的通俗解释。 Flume 的监…...
二分法算法
提示:文章 文章目录 前言一、背景二、二分法2.2 最坏情况下冒泡排序的比较次数 三、大算法之一:分治法总结 前言 前期疑问: 本文目标: 二分法 一、背景 问题来源是一个题目,在A[N]字符串数组中匹配长度为M的字符串&…...
3.27浮点数计算
-127就是说,有8位的数来表示指数,然后给他减去127就是这八位劈半,一半表示负数的指数,一半表示整数的指数;对于移码来说,最高位为1时表示为正,为0时表示为负 对阶是要小阶向大阶对齐,…...
存储过程与自然语言处理逻辑的不同与结合
在现代软件开发中,存储过程与自然语言处理(NLP)逻辑都发挥着重要作用。存储过程是一种在数据库内部运行的预编译程序,通常用于处理与数据相关的任务,例如插入、更新、删除数据以及复杂的查询操作。而自然语言处理&…...
数据集搜集器(百科)008
对数据集搜集器(百科)007进行一下改进: 错误处理:增加更多的错误处理,比如网络请求超时、解析错误等。 用户界面:增加一些提示信息,让用户更清楚当前的操作状态。 多线程处理:确保多…...
用Pycharm安装manim
由于版本和工具的差异,manim的安装方式不尽相同。本文用Pycharm来安装manim. 一、准备工作:安装相应版本的python、pycharm和ffmpeg. 此处提供一种安装ffmpeg的方式 下载地址:FFmpeg 下载后,解压到指定目录。 配置环境变量&am…...
HTB:Love[WriteUP]
目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机开放端口进行脚本、服务扫描 使用浏览器访问靶机443端口 尝试利用该功能访问靶机自身80端口 使用ffuf对靶机80端口进行路径FUZZ 漏洞利用 使用searchsploit搜索靶机80端…...
程序设计 26种设计模式,如何分类?
1. 创建型模式 (Creational Patterns) 这些模式关注如何实例化对象。它们通过各种方式封装对象的创建过程,从而提供灵活性和可扩展性。 单例模式 (Singleton):确保某个类只有一个实例,并提供全局访问点。工厂方法模式 (Factory Method)&…...
Oracle对比表与表之间的结构
自己首先想到的就是,navicat有提供结构同步 但是有些时候情况不一样,比如我遇到的是连接不同,而且是互相同步,以最多的列的那个表为样 没有说一个固定的源 那么还可以通过导出表结构去另一个库中执行看是否报错,以此来判断结构的不同 但是我感觉有点儿麻烦 最后想到通过sql语…...
MySQL 查询 执行顺序
MySQL查询的执行顺序大致如下: FROM子句:确定要查询的表。 ON:对JOIN语句中的表进行关联条件指定。 JOIN:如果有的话,对表进行关联。 WHERE:对记录进行过滤。 GROUP BY:根据指定的列分组记录…...
Scala习题
姓名,语文,数学,英语 张伟,87,92,88 李娜,90,85,95 王强,78,90,82 赵敏,92,88,91 孙涛,…...
VSCode 使用教程:项目使用配置、使用哪些插件、Live Server使用问题及解决方案(你想要的,都在这里)
VSCode的配置: Ⅰ、VSCode 可能需要的项目配置:1、项目颜色主题的切换:其一、点击设置 -> 选择主题 -> 选择颜色主题:其二、通过上下键操作,选择想要的主题: 2、项目文件图标主题的切换:其…...
RPA:电商订单处理自动化
哈喽,大家好,我是若木,最近闲暇时间较多,于是便跟着教程做了一个及RPA,谈到这个,可能很多人并不是很了解,但是实际上,这玩意却遍布文末生活的边边角角。话不多说,我直接上…...
分布式协同 - 分布式锁一二事儿
文章目录 导图Pre概述概述1. 分布式互斥和临界资源的协调2. 分布式锁的基本原理3. 分布式锁的实现方式a. 基于数据库实现的分布式锁b. 基于Redis实现的分布式锁c. 基于Zookeeper实现的分布式锁 4. 高并发场景下的分布式锁优化a. 分段锁(Sharded Locks)b.…...
React Native学习笔记(三)
一 组件简介 1.1 简介 RN中的核心组件,是对原生组件的封装 原生组件:Android或ios内的组件核心组件:RN中常用的,来自react-native的组件 原生组件 在 Android 开发中是使用 Kotlin 或 Java 来编写视图;在 iOS 开发…...
什么是B+Tree?
BTree是B-Tree的一种变体,它在数据库索引和文件系统中被广泛使用,因为它优化了磁盘I/O操作,并且对于范围查询非常高效。 以下是BTree的详细全面解释: 基本概念 节点(Node):BTree由节点组成&…...
LeetCode 热题100(十一)【二分查找】(2)
11.4搜索旋转排序数组(中等) 题目描述:leetcode链接 33. 搜索旋转排序数组 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length&…...
《Python基础》之OS模块
目录 前言 各种文件操作方法 1、os.path.exists() 2、os.path.join() 3、os.path.abspath(__file__) 4、os.path.dirname() 5、os.path.isfile() 6、os.path.isdir() 7、os.mkdir() 8、os.remove() 9、os.rmdir() 前言 本文主要介绍使用os模块中的功能操作文件或者文…...
esp32触发相机
esp32触发相机,测试成功上升沿触发 串口发送命令 up 20000 1 20000 触发 #include <Arduino.h>const int outputPin 12; // 输出引脚 String inputCommand ""; // 串口输入缓冲区// 解析命令参数,例如 "up 10 5" 解析为…...
AWS EC2设置用户名密码登录
使用AWS EC2 设置用户名密码登录 步骤 1: 访问控制台 登录到AWS管理控制台。导航至 EC2 Dashboard。在左侧导航栏中选择 Instances。选择需要配置的实例。使用 EC2 Instance Connect 访问实例控制台。 步骤 2: 切换到 root 用户 打开终端或命令行工具,通过SSH连…...
Mac配置和启动 Tomcat
Tomcat 配置与启动: 配置 Tomcat: homebrew install tomcat 启动 Tomcat: 如果cd ~/tomcat/bin文件夹存在startup.sh文件,可以直接在终端运行:./startup.sh 如果~/bin目录下,只有catalina文件。则在终端运行…...
基于深度学习的手势识别算法
基于深度学习的手势识别算法 概述算法原理核心逻辑效果演示使用方式参考文献 概述 本文基于论文 [Simple Baselines for Human Pose Estimation and Tracking[1]](ECCV 2018 Open Access Repository (thecvf.com)) 实现手部姿态估计。 手部姿态估计是从图像或视频帧集中找到手…...
ffmpeg RTP PS推流
要实现 CRtpSendPs 类,使其能够将 H264 数据通过 RTP PS 流推送到指定的 URL,并支持 TCP 和 UDP 传输方式,您需要使用 FFmpeg 库。以下是该类的实现示例,包括必要的初始化、推流和退出函数。 步骤 初始化 FFmpeg 库:…...
uniapp开发支付宝小程序自定义tabbar样式异常
解决方案: 这个问题应该是支付宝基础库的问题,除了依赖于官方更新之外,开发者可以利用《自定义 tabBar》曲线救国 也就是创建一个空内容的自定义tabBar,这样即使 tabBar 被渲染出来,但从视觉上也不会有问题 1.官方文…...
YOLOv8实战无人机视角目标检测
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化,该数据集包含丰富的无人机目标图像…...
RNN详解及其实现
目录 概述为什么需要 RNN?RNN 理解及其简单实现RNN 完成文本分类任务RNN 存在的问题 概述 提及 RNN,绝大部分人都知道他是一个用于序列任务的神经网络,会提及他保存了时序信息,但是,为什么需要考虑时序的信息…...
SpringBoot开发——详细讲解 Spring Boot 项目中的 POM 配置
文章目录 一、POM 文件简介二、单模块项目的 POM 配置1. 创建基本的 Spring Boot 单模块项目2. 重点解析三、多模块项目的 POM 配置1. 多模块项目结构2. 父模块 POM 文件3. 子模块 POM 文件4. 重点解析结语在 Spring Boot 项目中,POM(Project Object Model)文件起着关键作用…...
数据仓库: 8- 数据仓库性能优化
CSDN 目录展示 目录 8- 数据仓库性能优化8.1 查询优化8.1.1 索引优化8.1.2 分区和分桶8.1.3 使用缓存8.1.4 查询简化与重写8.1.5 聚合优化8.1.6 并行化和分布式计算8.1.7 基于列存储的优化8.1.8 表的分区和数据清洗8.1.9 查询提示 (Hints)8.1.10 自动调优工具 8.2 索引设计8.2…...
如何使用GCC手动编译stm32程序
如何不使用任何IDE(集成开发环境)编译stm32程序? 集成开发环境将编辑器、编译器、链接器、调试器等开发工具集成在一个统一的软件中,使得开发人员可以更加简单、高效地完成软件开发过程。如果我们不使用KEIL,IAR等集成开发环境,…...
2023年MathorCup高校数学建模挑战赛—大数据竞赛B题电商零售商家需求预测及库存优化问题求解全过程文档及程序
2023年MathorCup高校数学建模挑战赛—大数据竞赛 B题 电商零售商家需求预测及库存优化问题 原题再现: 电商平台存在着上千个商家,他们会将商品货物放在电商配套的仓库,电商平台会对这些货物进行统一管理。通过科学的管理手段和智能决策&…...
不可分割的整体—系统思考的微妙法则
不可分割的整体——系统思考的微妙法则 作为企业领导者,我们经常需要做出决策,但有时候,我们会忽略一个事实:每个决策都不是孤立的,它背后都是一个复杂系统的一部分。 无论是市场动态、团队协作,还是产品…...
使用Grafana K6来测测你的系统负载能力
背景 近期我们有个号称会有很高很高并发的系统要上线,为了测试一下自己开发的系统的负载能力,准备了点海克斯科技,来看看抗不抗的住。 之前笔者写过用Apache JMeter进行压力测试的文章(传送门👉:https://…...
ENSP IPV6-over-IPV4
IPv6是网络层协议的第二代标准协议,一个IPv6地址同样可以分为网络前缀和主机ID两个部分。 可以将IPV4的网络看成IPV6的承载网,只有IPv4网络是连通的,则IPv6网络才有可能连通。所以配置的时候需要先配置IPv4网络的路由功能,再配IP…...
FLASH分区---FAT分区添加操作
1、板卡配置 注意:使用fat文件系统的时候,必须download进去一个fat系统的镜像 fat.img 0xee0000 注意:需要打开fat宏定义(涉及到底层,必须开,否则无法创建文件) 2、板卡.c 配置 修改分区大小、增…...
javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET
javax.xml.ws.soap.SOAPFaultException 表示 SOAP 调用过程中发生了错误,并且服务端返回了一个 SOAP Fault。 错误信息中提到的 ZONE_OFFSET 可能指的是时区偏移量。在日期和时间处理中,时区偏移量是指格林威治标准时间 (GMT) 的偏移量。如果服务期望特…...
针对解决conda环境BUG的个人笔记
1-conda学习&安装 安装视频: 零基础教程:基于Anaconda和PyCharm配置Pytorch环境_哔哩哔哩_bilibili 安装过程: MX250笔记本安装Pytorch、CUDA和cuDNN-CSDN博客 Win10MX250CUDA10.1cuDNNPytorch1.4安装测试全过程(吐血)_nvidia geforc…...
代理IP与百度在信息时代的交互
目录 一、代理IP的基本概念和工作原理 二、代理IP在百度搜索中的多重作用 解决网络延时问题,提高搜索速度 提高网络安全 隐藏用户的真实IP地址,保护个人隐私 突破访问限制,拓宽网络视野 三、代理IP在百度关键词排名优化中的应用 模拟…...
10、PyTorch autograd使用教程
文章目录 1. 相关思考2. 矩阵求导3. 两种方法求jacobian 1. 相关思考 2. 矩阵求导 假设我们有如下向量: y 1 3 x 1 5 [ w T ] 5 3 b 1 3 \begin{equation} y_{1\times3}x_{1\times5}[w^T]_{5\times3}b_{1\times3} \end{equation} y13x15[wT]53b13…...
Flink随笔 20241129 流数据处理:以生产线烤鸡为例理解 Flink
流数据(streaming data)就像是一条永不停歇的生产线,源源不断地向前推进,带来新的数据。而 Apache Flink 就是这条生产线的核心,它负责对数据进行处理、分类、聚合和存储。为了更好地理解 Flink 的流处理,我…...
Web day02 Js Vue Ajax
目录 1.javascript: 1.js的引入方式: 2.js变量 & 数据类型 & 输出语句: 模板字符串: 3.函数 & 自定义对象: 4. json 字符串 & DOM操作: 5. js事件监听: 6.js的模块化导入或者导出&a…...
Vue的生命周期
Vue.js 的生命周期是指一个 Vue 实例从创建到销毁的整个过程。在这个过程中,Vue 会提供一系列的钩子函数(也称为生命周期钩子),开发者可以在这些钩子中执行特定的操作。理解 Vue 的生命周期对于编写高效、可维护的 Vue 应用至关重…...
【LeetCode热题100】优先级队列
这盘博客记录了关于优先级队列的几道题,包括最后一块石头的重量、数据流中的第K大元素、前K个高频单词、数据流的中位数。 class Solution { public:int lastStoneWeight(vector<int>& stones) {priority_queue<int> heap;for(auto s : stones) hea…...
用go语言写一个小服务
文章目录 简介重新想到go 小服务main.go部署测试 结束语 简介 golang的优势 响应速度: Go > Java > Python 内存占用: Go < Java < Python 从java转go,然后go又转java,感觉就是go虽然在编译、内存占用都强于java&am…...
shell编程练习巩固
一、用shell写出一个简单的计算器。 其实用shell写个简单的计算器还是很简单,我们不用构建那么复杂的计算功能,只需要复现出简单的加减乘除取余即可。 既然是计算器就要明确一下思路: 用户可以输入一个数字根据数字选择加、减、乘、除、取…...
pytest+allure生成报告显示loading和404
pytestallure执行测试脚本后,通常会在电脑的磁盘上建立一个临时文件夹,里面存放allure测试报告,但是这个测试报告index.html文件单独去打开,却显示loading和404, 这个时候就要用一些办法来解决这个报告显示的问题了。 用命令产生…...