LLM的演进趋势与未来展望:Toformer的革新之路
文章出处
-
题目:Restoring Images in Adverse Weather Conditions via Histogram Transformer
-
论文地址: https://arxiv.org/pdf/2407.10172
-
代码地址: https://github.com/sunshangquan/Histoformer
-
年份:2024
-
期刊:ECCV
背景
这篇文章提出了一个名为Histoformer的新型图像恢复方法,旨在解决由恶劣天气条件(如雨、雾和雪)引起的图像退化问题。具体来说,文章想要解决的问题包括:
- 图像质量下降:恶劣天气条件显著降低了图像的视觉质量,这对于需要清晰视觉信息的下游任务(如目标检测和深度估计)构成了挑战。
- 现有方法的局限性:早期的方法依赖于天气相关的先验知识来模拟退化的统计特性并去除恶劣天气。随后,卷积神经网络(CNNs)被提出用于处理去雨、去雾和去雪等任务,但这些方法需要为每个任务分别训练网络,并且在多个模型之间切换的复杂性给实际应用带来了挑战。
- Transformer-based方法的效率问题:最近的基于Transformer的方法在去除恶劣天气的任务中显示出了超越CNNs的效率,但这些方法通常在内存利用上做出妥协,将自注意力操作限制在固定空间范围或仅在通道维度内,这限制了Transformer捕捉长距离空间特征的能力。
- 长距离空间特征的捕捉:文章指出,天气引起的退化因素主要导致类似的遮挡和亮度变化,这提示了需要一种能够有效捕捉长距离空间特征的方法来恢复图像。
文章创新点
-
直方图自注意力机制(Histogram Self-Attention, HSA):提出了一种名为“直方图自注意力”的新型机制。此机制通过根据像素强度对空间特征进行排序,并将其分配到不同的直方图区间(bins),实现了对具有相似特性的像素的有效分组。与传统自注意力机制受限于特定的空间范围或通道维度不同,HSA能够在更广泛的尺度上处理图像降质问题,尤其对于由天气因素导致的图像质量下降,其恢复效果显著优于现有技术。
-
动态范围卷积(Dynamic-Range Convolution):解决卷积神经网络在远距离空间特征提取方面存在的局限性,本文引入了动态范围卷积的概念。该技术通过对像素按照水平和垂直方向排序,允许卷积操作针对具有相近强度值的像素进行,从而加强了模型对天气条件下特定模式识别的能力。
-
双尺度门控前馈网络(Dual-scale Gated Feed-Forward Network, DGFF):基于常规前馈网络的基础上,设计了双尺度门控前馈网络。这一架构通过集成多层次及多范围的深度卷积操作,极大地提升了系统捕捉复杂场景下信息的能力,特别是对于需要跨多个尺度分析的任务而言,DGFF表现出了显著的优势。
-
皮尔逊相关系数损失(Pearson Correlation Coefficient Loss):为了提高恢复后图像与原始图像之间的线性相关性,本研究采用了皮尔逊相关系数作为额外的优化目标。这不仅保证了修复图像在视觉上与原图的高度一致,更重要的是,在全局层面维持了两者之间正确的相对位置和结构关系,超越了单纯追求像素级别精确度的传统方法。
方法分析
Histoformer模型采用了编码器-解码器架构,旨在通过结合动态范围直方图自注意力(DHSA)和双尺度门控前馈模块(DGFF)来实现图像恢复。该模型特别关注于恢复因天气条件引起的图像降质像素。具体来说,模型首先将输入的低质量图像 I l q ∈ R 3 × H × W I_{lq} \in \mathbb{R}^{3 \times H \times W} Ilq∈R3×H×W通过一个3x3卷积层进行处理,以实现重叠图像补丁的嵌入。随后,编码器部分通过下采样提取多尺度特征,而解码器部分则通过上采样逐步重建出高质量的图像,同时利用跳跃连接(skip connections)来保持图像细节,增强训练过程的稳定性。
在Histoformer的网络主干中,直方图变压器模块(HTB)被用于提取复杂特征并捕获动态分布的退化因子。这些模块在编码器和解码器的各个阶段之间通过pixel-unshuffle和pixel-shuffle操作实现特征的下采样和上采样,确保了特征信息的有效传递和重建。此外,模型的损失函数结合了像素差异和皮尔逊相关系数,这不仅确保了恢复图像与真实图像在像素层面的一致性,还保证了它们在全局关系上的一致性。通过这种方式,Histoformer能够有效地恢复图像质量,尤其是在面对天气引起的图像降质时表现出色。下图是用于天气去除的 Histoformer 的整体架构。
基于动态范围直方图的自注意机制
动态范围直方图自我注意,旨在捕捉动态分布的天气诱导退化特征,通过将空间特征分割到多个直方图桶中,并在桶或频率维度上分配不同的注意力,从而选择性地关注具有动态范围的天气相关特征。这种设计的特点如何:
-
动态范围卷积:输入特征被分为两个分支,对第一个分支的特征进行水平和垂直排序,然后与第二个分支的特征进行连接,再通过可分离的卷积。而传统的卷积操作使用固定大小的核,导致感受野范围有限,主要执行局部和小范围的计算。
-
直方图自我注意:给定动态范围卷积的输出,将其分离成值特征(Value)和查询-键对(Query-Key pairs),然后根据值的索引对查询-键对进行排序和重组。与固定范围的自我注意不同,DHSA通过将空间元素分类到桶中,并在桶内或跨桶分配不同的注意力,以适应不同强度的背景特征和天气退化。
双刻度门控前馈
双刻度门控前馈,旨在丰富多范围特征的表示,以促进图像恢复过程。它通过集成两个不同的多范围和多尺度深度卷积路径来提取动态分布的天气诱导退化的相关信息。
其工作流程如下:
- 输入张量首先通过1x1点卷积操作来增加通道维度。
- 扩展后的张量被送入两个并行分支,其中一个分支使用5x5深度卷积,另一个分支使用扩张的3x3深度卷积。
- 通过门控机制,一个分支的输出在通过激活函数后作为另一个分支的门控图。
最终,双刻度门控前馈通过结合不同尺度的信息,增强了模型对多范围和多尺度特征的提取能力,从而提高了图像恢复的性能。
损失函数说明
文章中提到的损失函数包括重建损失(Reconstruction Loss)和相关损失(Correlation Loss),具体如下:
-
重建损失(Reconstruction Loss):
重建损失是衡量恢复图像与真实图像之间像素级差异的指标,使用的是L1范数,表达式为:
L rec = ∥ I hq − I gt ∥ 1 L_{\text{rec}} = \left\| I_{\text{hq}} - I_{\text{gt}} \right\|_1 Lrec=∥Ihq−Igt∥1,其中,$I_{\text{hq}} 是恢复后的高质量图像, 是恢复后的高质量图像, 是恢复后的高质量图像,I_{\text{gt}} $是真实图像(ground-truth)。 -
相关损失(Correlation Loss):
相关损失是基于皮尔逊相关系数(Pearson correlation coefficient)来衡量恢复图像与真实图像之间的整体线性相关性。皮尔逊相关系数的计算公式为:
r h o ( I hq , I gt ) = ∑ i = 1 H W ( I hq , i − I ˉ hq ) ( I gt , i − I ˉ gt ) ∑ i = 1 H W ( I hq , i − I ˉ hq ) 2 ∑ i = 1 H W ( I gt , i − I ˉ gt ) 2 rho(I_{\text{hq}}, I_{\text{gt}}) = \frac{\sum_{i=1}^{HW} (I_{\text{hq},i} - \bar{I}_{\text{hq}})(I_{\text{gt},i} - \bar{I}_{\text{gt}})}{\sqrt{\sum_{i=1}^{HW} (I_{\text{hq},i} - \bar{I}_{\text{hq}})^2} \sqrt{\sum_{i=1}^{HW} (I_{\text{gt},i} - \bar{I}_{\text{gt}})^2}} rho(Ihq,Igt)=∑i=1HW(Ihq,i−Iˉhq)2∑i=1HW(Igt,i−Iˉgt)2∑i=1HW(Ihq,i−Iˉhq)(Igt,i−Iˉgt)
其中, I hq , i I_{\text{hq},i} Ihq,i和 I gt , i I_{\text{gt},i} Igt,i分别表示恢复图像和真实图像的第i个像素值,
I ˉ hq \bar{I}_{\text{hq}} Iˉhq和 I ˉ gt \bar{I}_{\text{gt}} Iˉgt分别表示恢复图像和真实图像的均值,$HW $表示图像的像素总数。相关损失的表达式为:L cor = 1 2 ( 1 − ρ ( I hq , I gt ) ) L_{\text{cor}} = \frac{1}{2} \left( 1 - \rho(I_{\text{hq}}, I_{\text{gt}}) \right) Lcor=21(1−ρ(Ihq,Igt))
当恢复图像与真实图像完全相关时,$L_{\text{cor}} $为0。
-
总损失函数(Total Loss):
总损失函数是重建损失和相关损失的加权和,表达式为:
L = L rec + α L cor L = L_{\text{rec}} + \alpha L_{\text{cor}} L=Lrec+αLcor
其中,$\alpha $是相关损失的权重。
文章中应用该方法后的对比效果如下所示:
相关文章:
LLM的演进趋势与未来展望:Toformer的革新之路
文章出处 题目:Restoring Images in Adverse Weather Conditions via Histogram Transformer 论文地址: https://arxiv.org/pdf/2407.10172 代码地址: https://github.com/sunshangquan/Histoformer 年份:2024 期刊:ECCV 背景 这篇文章…...
LabVIEW 无法播放 AVI 视频的编解码器解决方案
用户在 LabVIEW 中使用示例程序 Read AVI File.vi(路径: 📌 C:\Program Files (x86)\National Instruments\LabVIEW 2019\examples\Vision\Files\Read AVI File.vi)时发现: ✅ LabVIEW 自带的 AVI 视频可正常播放 这是…...
Svelte vs Vue:前端框架的深度对比与应用场景分析
Svelte vs Vue:前端框架的深度对比与应用场景分析 1. 引言 前端开发领域的框架选择一直是开发者关注的重点。在现代 Web 开发中,Vue 和 Svelte 都是备受瞩目的框架,各自拥有不同的架构设计和适用场景。本文将从 核心架构、性能对比、开发体…...
如何在一台服务器上搭建 mongodb副本集1主2从节点
在一台服务器上搭建 MongoDB 副本集(1 主节点 2 从节点)可以通过运行多个 MongoDB 实例并使用不同端口和数据目录来实现。以下是详细步骤: 1. 准备工作 确保已安装 MongoDB。为每个实例创建独立的数据目录和日志文件。 2. 创建数据目录和…...
【湖北省计算机信息系统集成协会主办,多高校支持 | ACM出版,EI检索,往届已见刊检索】第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)
第二届边缘计算与并行、分布式计算国际学术会议(ECPDC 2025)将于2025年4月11日至13日在中国武汉盛大召开。本次会议旨在为边缘计算、并行计算及分布式计算领域的研究人员、学者和行业专家提供一个高水平的学术交流平台。 随着物联网、云计算和大数据技术…...
谈谈 ES 6.8 到 7.10 的功能变迁(6)- 其他
这是 ES 7.10 相较于 ES 6.8 新增内容的最后一篇,主要涉及算分方法和同义词加载的部分。 自定义算分:script_score 2.0 Elasticsearch 7.0 引入了新一代的函数分数功能,称为 script_score 查询。这一新功能提供了一种更简单、更灵活的方式来…...
大数据与金融科技:革新金融行业的动力引擎
大数据与金融科技:革新金融行业的动力引擎 在今天的金融行业,大数据与金融科技的结合正在以惊人的速度推动着金融服务的创新与变革。通过精准的数据分析与智能化决策,金融机构能够更高效地进行风险管理、客户服务、资产管理等一系列关键操作…...
企业jsapi_ticket,java举例
在企业微信开发中,使用 Java 获取 jsapi_ticket 并生成签名的步骤如下。以下是完整的 Java 示例代码。 1. 获取 jsapi_ticket 的流程 获取 access_token。 使用 access_token 获取 jsapi_ticket。 使用 jsapi_ticket 生成签名(signature)。…...
【Python】基础语法三
> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解Python的函数、列表和数组。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自ÿ…...
leetcode_字典树 139. 单词拆分
139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 思路: 定义状态: 设dp[i]表…...
Easy Trans Spring Boot Starter ---Spring系列的字段翻译库
Easy Trans Spring Boot Starter 使用文档 1. 简介 easy-trans-spring-boot-starter 是一个基于 Spring Boot 的库,用于简化数据翻译和转换操作。它可以帮助你将数据库中的枚举值、状态码等转换为用户友好的文本,或者将一种数据格式转换为另一种格式。…...
算法-数据结构(图)-迪杰斯特拉最短逻辑算法( Dijkstra)
迪杰斯特拉算法(Dijkstras Algorithm) 是一种用于计算单源最短路径的经典算法,由荷兰计算机科学家 艾兹赫尔迪杰斯特拉(Edsger W. Dijkstra) 于1956年提出。它的主要目标是找到从图中的某个源节点到所有其他节点的最短…...
抖音生活服务加强探店内容治理,2024年达人违规率下降30%
发布 | 大力财经 2月27日,抖音生活服务发布《2024抖音生活服务消费者权益保护年度报告》(以下简称“报告”)。报告显示,过去一年,抖音生活服务针对消费者反感的虚假、夸张探店内容,开展了专项治理。通过一…...
跟着源码实现LevelDB(二)util/status.cc
概述 本小节实现了leveld的Status类,Status看起来是个简单的类,但是其中也包含了leveldb对极致的性能实现的巧妙设计 Status的内存管理 Status 只有一个成员变量 const char* state_; state[0…3] 表示长度,state[4] 1个字节 表示状态的枚…...
51c自动驾驶~合集52
我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型(DWM),专注于预测驾驶过程中的场景演变,已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…...
Rust 是什么
Rust 是什么 Rust 是一种由 Mozilla 开发的系统级编程语言,它于 2010 年首次亮相,在 2015 年发布 1.0 版本,此后迅速发展并受到广泛关注。 内存安全:Rust 最大的亮点之一是它在编译阶段就能够避免常见的内存错误,如空指针引用、数据竞争和内存泄漏等。它通过所有权(Owne…...
005 公网访问 docker rocketmq
文章目录 创建自定义网络创建NameServer容器创建Broker容器正式开始启动 Nameserver 容器启动 Broker 容器并关联 Nameserverdocker exec -it rmqbroker vi /etc/rocketmq/broker.conf检查 namesrv 解析检查 Broker 注册状态Nameserver 日志Broker 日志检查容器日志手动指定 Br…...
ASP.NET MVC项目部署到IIS后,w3wp.exe程序报错重启
一、错误信息 windows的事件查看器》windows日志》应用程序,按时间找到错误信息如下: 错误应用程序名称: w3wp.exe,版本: 10.0.14393.0,时间戳: 0x57899b8a 错误模块名称: KERNELBASE.dll,版本: 10.0.14393.5850&…...
Java多线程与高并发专题——深入ReentrantReadWriteLock
深入ReentrantReadWriteLock 读写锁出现原因 synchronized和ReentrantLock都是互斥锁。如果说有一个操作是读多写少的,还要保证线程安全的话。如果采用上述的两种互斥锁,效率方面很定是很低的。在这种情况下,咱们就可以使用ReentrantReadWr…...
支付宝 IoT 设备入门宝典(下)设备经营篇
上篇介绍了支付宝 IoT 设备管理,但除了这些基础功能外,商户还可以利用设备进行一些运营动作,让设备更好的帮助自己,本篇就会以设备经营为中心,介绍常见的设备相关能力和问题解决方案。如果对上篇感兴趣,可以…...
极简本地体验deepseek大模型教程
一 题外随感:时代之问 就像狄更斯在双城记中所述,“这是最好的时代,这是最坏的时代”。每一代人都有其所处的时代,每一个时代都有其所谓好的一面和不那么好的一面。很多时候随口的一句大环境不好,就似乎给了自己一个最…...
最短路问题--Floyd
Floyd算法 一、介绍二、补充知识:邻接矩阵三、原理四、实现 提示:以下是本篇文章正文内容,下面案例可供参考 一、介绍 Floyd算法是一种用来计算图中所有点之间最短距离的算法。它的核心思想是:通过逐步尝试每个点作为中间点&…...
深入理解Java网络编程:从基础到高级应用
一、网络编程概述 1.什么是网络编程? 网络编程是指利用计算机网络实现程序之间通信的一种编程方式。在网络编程中,程序需要通过网络协议(如 TCP/IP)来进行通信,以实现不同计算机之间的数据传输和共享。 2.在网络编程…...
浅谈deepseek环境搭建
在探索人工智能的浩瀚宇宙中,DeepSeek如同一颗璀璨的星辰,以其独特的魅力引领着我们在逻辑推理与数据分析的海洋中遨游。想要在这片未知的领域里扬帆起航,首先必须精心搭建起我们的“星际飞船”——DeepSeek环境。无论你是渴望在本地实例上运…...
AI绘画软件Stable Diffusion详解教程(2):Windows系统本地化部署操作方法(专业版)
一、事前准备 1、一台配置不错的电脑,英伟达显卡,20系列起步,建议显存6G起步,安装win10或以上版本,我的显卡是40系列,16G显存,所以跑大部分的模型都比较快; 2、科学上网࿰…...
kali liux的下载
Kali Linux | Penetration Testing and Ethical Hacking Linux Distributionhttps://www.kali.org/ VMware虚拟机https://pan.quark.cn/s/aa869ffbf184 【补充一个今天学到的知识昂和内容无关:(遥感)指非接触的远距离探测技术,使用传感器探…...
DeepSeek 助力 Vue3 开发:打造丝滑的悬浮按钮(Floating Action Button)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
ES from size聚合查询10000聚合查询,是每个分片先聚合,再统计。还是所有节点查询1万条后,再聚合
在 Elasticsearch 中,聚合查询 的执行过程是 分布式 的,Elasticsearch 会先在每个分片(shard)上执行本地聚合,然后再在协调节点(coordinating node)上对所有分片的聚合结果进行 全局汇总。具体过…...
fluent-ffmpeg 依赖详解
fluent-ffmpeg 是一个用于在 Node.js 环境中与 FFmpeg 进行交互的强大库,它提供了流畅的 API 来执行各种音视频处理任务,如转码、剪辑、合并等。 一、安装 npm install fluent-ffmpeg二、基本使用 要使用 fluent-ffmpeg,首先需要确保系统中…...
SLAM文献之-DROID-SLAM: Deep Visual SLAM for Monocular, Stereo, and RGB-D Cameras
DROID-SLAM 是一种结合深度学习与传统视觉SLAM技术的先进算法,其核心目标是通过端到端可训练的深度神经网络来实现高精度的相机位姿估计和稠密三维重建。与传统SLAM方法不同,DROID-SLAM采用深度学习网络来估计深度信息,提供更高的精度与鲁棒性…...
一、旋转编码器模块分析与使用
一、旋转编码器说明 该模块配合定时器的encoder使用时,可通过旋转来进行调整记录编码的数值。(通过旋转编码器的数值与字母建立对应关系,即可进行打字编码) 引脚说明: vcc,gnd,供电使用 sw&am…...
【踩坑日志】解决CU118环境下RuntimeError: NCCL error: invalid usage
本博客主要记录了CU118环境下,出现报错信息为RuntimeError: NCCL error: invalid usage的解决方案。我的环境信息如下: cuda版本:11.7torch版本:torch-2.5.1-cu118 定位到核心报错信息为: NCCL WARN NCCL cannot be …...
FREERTOS的三种调度方式
一、调度器的调度方式 调度器的调度方式解释针对的对象抢占式调度1.高优先级的抢占低优先级的任务 2.高优先级的任务不停止,低优先级的任务不能执行 3.被强占的任务会进入就绪态优先级不同的任务时间片调度1.同等优先级任务轮流享用CPU时间 2.没有用完的时间片&…...
338.比特位计数<动态规划>
338. 比特位计数 - 力扣(LeetCode) class Solution { public:vector<int> countBits(int n) {//将所有数初始化为0vector<int>dp(n1,0);for(int i 0; i<n;i){if(i % 2 0){dp[i] dp[i/2];}else{dp[i] dp[i/2]1;}}return dp;} };...
释放你的IDE潜能:Code::Blocks 插件创意开发深度指南
释放你的IDE潜能:Code::Blocks 插件创意开发深度指南 在软件开发的浩瀚世界中,集成开发环境 (IDE) 扮演着至关重要的角色。一款优秀的 IDE 不仅能提升开发效率,更能激发开发者的创造力。Code::Blocks,作为一款开源、跨平台的 C, C++ 和 Fortran IDE,以其轻量级、高度可定…...
行星际激波与高能粒子的相互作用机制及其天体物理意义
第一章 行星际激波的物理本质与形成机制 1.1 激波的普遍定义与分类 激波(Shock Wave)是介质中传播的压缩性不连续面,其本质是介质参数(如密度、速度、压力)的突变。在天体物理中,根据激波传播方向与磁场…...
C# 牵手DeepSeek:打造本地AI超能力
一、引言 在人工智能飞速发展的当下,大语言模型如 DeepSeek 正掀起新一轮的技术变革浪潮,为自然语言处理领域带来了诸多创新应用。随着数据隐私和安全意识的提升,以及对模型部署灵活性的追求,本地部署 DeepSeek 成为众多开发者和…...
不同版本的BLE和WiFi有什么区别?
一、蓝牙技术对比:从 Bluetooth 4.0 到 5.3 的演进与室内定位应用 蓝牙技术自推出以来,经历了多次重大升级,每一代都在传输速率、功耗、覆盖范围和功能上有所改进。本文将从 Bluetooth 4.0 到 5.3,逐一对比各版本的特点࿰…...
LVS+Keepalived高可用高性能负载实战
高可用集群( High Availability Cluster, HA 集群),其中高可用的含义是最大限度地可以使用。从集群 的名字上可以看出,此类集群实现的功能是保障用户的应用程序持久、不间断地提供服务。 当应用程序出现故障或者系统硬件、网络出现…...
网络安全-使用DeepSeek来获取sqlmap的攻击payload
文章目录 概述DeepSeek使用创建示例数据库创建API测试sqlmap部分日志参考 概述 今天来使用DeepSeek做安全测试,看看在有思路的情况下实现的快不快。 DeepSeek使用 我有一个思路,想要测试sqlmap工具如何dump数据库的: 连接mysql数据库&#…...
【MongoDB】在Windows11下安装与使用
官网下载链接:Download MongoDB Community Server 官方参考文档:https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-windows/#std-label-install-mdb-community-windows 选择custom类型,其他默认 注意,此选…...
vscode输入!+tab没反应??
!+tab直接生成html框架 第一步 ctrlshipp 选择更改语言模式 change language mode, 选择HTML 然后试一下行不行,如果还不行看第二步 第二步 检查一下输入的!是不是英文输入法输入的,一定要是英文输入&…...
【Cadence射频仿真学习笔记】2.4GHz低噪放LNA仿真设计
课程分为3个部分, 一、LNA结构与噪声优化方法 噪声优化的方法是:限定功耗的噪声和功率同时匹配噪声匹配和功率匹配一般不会同时达到, 对于PCSNIM结构的噪声分析,我们只需要了解与哪些参数有关优化思路是:1.信号源阻抗…...
初阶MySQL(两万字全面解析)
文章目录 1.初识MySQL1.1数据库1.2查看数据库1.3创建数据库1.4字符集编码和排序规则1.5修改数据库1.6删除数据库 2.MySQL常用数据类型和表的操作2.(一)常用数据类型1.数值类2.字符串类型3.二进制类型4.日期类型 2.(二)表的操作1查看指定库中所有表2.创建表 3.查看表结构和查看表…...
Python每日一练:学习指南进行汇总
Python,一种“优雅”、“明确”、“简单”的编程语言,凭借其低学习曲线、强大的开源生态系统、卓越的平台可移植性以及面向对象和函数式编程的支持,成为了众多开发者首选。 01 Python 应用领域和就业形势分析 Python,一种“优雅…...
Spring-AI搭建企业专属知识库 一
环境介绍:Spring3.3.2 JDK 21 POM文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…...
Python的那些事第三十六篇:基于 Vega 和 Vega-Lite 的数据可视化解决方案,Altair 声明式可视化库
Altair 声明式可视化库:基于 Vega 和 Vega-Lite 的数据可视化解决方案 摘要 在数据科学和分析领域,有效的数据可视化是理解数据、发现模式和传达见解的关键。Python 作为数据科学的主要编程语言之一,提供了多种数据可视化库。其中,Altair 是一个基于 Vega 和 Vega-Lite 的…...
虚拟化园区网络部署指南
《虚拟化园区网络部署指南》属于博主的“园区网”专栏,若想成为HCIE,对于园区网相关的知识需要非常了解,更多关于园区网的内容博主会更新在“园区网”专栏里,请持续关注! 一.前言 华为CloudCampus解决方案基于智简网络…...
系统调用有哪些函数
系统调用是操作系统提供给用户程序的一组“特殊”的函数接口,允许用户程序请求操作系统执行某些低级服务。这些服务通常涉及对硬件的直接操作或访问受保护的内核资源。以下是一些常见的系统调用函数,主要基于Unix/Linux环境: 一、文件与设备…...
Go红队开发—编解码工具
文章目录 开启一个项目编解码工具开发Dongle包Base64编解码摩斯密码URL加解密AES加解密 MD5碰撞工具开发 开启一个项目 这作为补充内容,可忽略直接看下面的编解码: 一开始用就按照下面的步骤即可 1.创建一个文件夹,你自己定义名字(建议只用…...