Vision Transformer:打破CNN垄断,全局注意力机制重塑计算机视觉范式
目录
引言
一、ViT模型的起源和历史
二、什么是ViT?
图像处理流程
图像切分
展平与线性映射
位置编码
Transformer编码器
分类头(Classification Head)
自注意力机制
注意力图
三、Coovally AI模型训练与应用平台
四、ViT与图像分类
五、CNN与ViT对比
效率
提取特征的方式
数据需求
六、ViT用例和应用
图像分类
目标检测与分割
图像生成
多模态任务
七、ViT的挑战
大规模数据集的依赖
计算复杂度和内存消耗
长距离依赖建模的困难
八、总结
引言
ViT(Vision Transformer)是一种用于图像处理的深度学习模型,基于Transformer架构,该架构最初是为自然语言处理(NLP)任务设计的。ViT的提出打破了传统视觉神经网络(CNN)在计算机视觉中的地位主导,采用了Transformer的自注意力机制来处理图像。
随着Transformer在自然语言处理(NLP)领域的成功应用。在计算机视觉研究中,人们对视觉转换器 (ViT) 和多层感知器 (MLP) 的兴趣日益浓厚。
ViT的出现标志着计算机视觉模型的一次范式转变,它不再依赖于传统的卷积操作,而是通过Transformer的自注意力机制来处理图像数据。这一创新模型在多个大型图像分类任务中,超越了CNN的表现,并为计算机视觉带来了新的思路。
-
参考论文:https://arxiv.org/pdf/2010.11929
一、ViT模型的起源和历史
以下是关于视觉转换器(Vision Transformer)和相关模型的表格,涵盖了从2017年Transformer的诞生到2021年ViT及其变种的重要发展:
这个表格展示了Transformer架构及其在视觉任务中的发展历程,从最初的NLP模型,到BERT、GPT-3等语言模型,再到DETR、ViT及其变种在计算机视觉领域的成功应用。
二、什么是ViT?
Vision Transformer (ViT) 模型架构是在ICLR 2021上作为会议论文发表的一篇研究论文中介绍的,该论文题为“An Image is Worth 16*16 Words: Transformers for Image Recognition at Scale”。它由Neil Houlsby、Alexey Dosovitskiy和Google Research Brain Team的另外10位作者开发和发布。
ViT的设计灵感来源于Transformer架构,最初Transformer的提出是为了处理NLP任务的序列数据(如文本),它通过自注意力捕捉机制来捕捉图像中各部分之间的全局依赖。ViT的关键创新在于,将图像数据也视为一个“序列”,而通过Transformer的自注意力机制来捕捉图像中各部分之间的全局依赖。
-
图像处理流程
ViT将输入图像分解几个固定大小的块(patches),每个块可以扣一个“图像的令牌”,然后对每个块进行展平(flatten)操作,将每个块转化为一个保护。这些处理会被形成Transformer模型,通过自注意力机制进行处理,捕获图像各部分的全局关联。
具体流程如下:
图像切分
将输入图像(例如大小为𝐻×𝑊的RGB图像)划分为多个不重叠的小块(patches),小块的尺寸通常设置𝑃×𝑃。
展平与线性映射
每个𝑃×𝑃块的大小被展平为一个一维,大小为𝑃²×𝑃,其中C是每个图像块的通道数(例如RGB三通道)。接着,通过一个线性层(又称为投影层)进行放大器映射到模型所需的维度(通常是与Transformer模型中隐藏状态相同的维度)。
位置编码
由于Transformer本身不具备空间信息的处理能力,ViT在图像块的支持上加上位置编码(Positional Encoding),以保留图像的空间结构。
Transformer编码器
这些图像块的处理(包括位置编码)作为输入确定Transformer编码器。Transformer通过自注意力机制最终处理这些输入,生成的特征表示。
分类头(Classification Head)
通过一个全连接层(Fully Connected Layer)将Transformer输出的特征映射到目标类别空间,完成分类任务。
-
自注意力机制
在ViT中,最核心的部分是自注意力机制。它通过计算输入关注之间的相关性来决定每个输入关注对其他关注的程度。简单地说,自注意力机制使得每个图像块不仅可以考虑其自身的信息,还可以从图像中的其他区域获取信息。这种全局依赖的建模对于复杂的视觉任务关系至关重要。
因此,自注意力机制会计算输入数据的加权和,其中权重是根据输入特征之间的相似性计算的。这使得模型能够更加重视相关的输入特征,从而帮助它捕获输入数据中更具信息性的表示。
所以,自注意力机制(Self-Attention)使得ViT能够在图像中建模各个区域之间的长距离依赖,而这正是ViT相对于传统卷积神经网络(CNN)的一个关键优势。
-
注意力图
在ViT的多头自注意力(Multi-Head Self-Attention,MHSA)机制中,每个输入的图像块(Patch)都会与其他图像块进行关联,并分配不同的注意力权重。
ViT的注意力图通常来自自注意力权重矩阵,该矩阵存储了所有图像块之间的注意力分布。
在ViT的每一层,注意力权重由Softmax(Q·Kᵀ/√d_k)计算得出:
计算出的Softmax(Q·Kᵀ/√d_k)形成一个𝑁×𝑁的矩阵,表示每个图像块(Patch)对其他块的注意力分布。
注意力图本质上就是这些权重的可视化,我们可以将注意力图可视化为热图网格,其中每个热图代表给定标记与所有其他标记之间的注意力权重。热图中像素的颜色越亮,相应标记之间的注意力权重就越高。通过分析注意力图,我们可以深入了解图像的哪些部分对于手头的分类任务最重要。
三、Coovally AI模型训练与应用平台
Coovally AI模型训练与应用平台,它整合了整合30+国内外开源社区1000+模型算法。
平台已部署ViT系列模型算法
在Coovally平台上,无需配置环境、修改配置文件等繁琐操作,可一键另存为我的模型,上传数据集,即可使用ViT等热门模型进行训练与结果预测,全程高速零代码!而且模型还可分享与下载,满足你的实验研究与产业应用。
四、ViT与图像分类
图像分类是计算机视觉领域的一项基本任务,涉及根据图像内容为图像分配标签。ViT是专门为了图像分类任务之一而设计的深度学习模型。多年来,像YOLOv7这样的深度CNN一直是用图像分类的SOTA方法。
然而,随着Transformer架构在自然语言处理(NLP)任务中的成功,研究人员将Transformer模型引入图像分类任务,ViT就是其中的重要成果。
计算机视觉研究表明,当使用足够量的数据进行预训练时,ViT模型至少与ResNet模型一样强大。
其他论文表明,Vision Transformer模型在隐私保护图像分类方面具有巨大潜力,并且在抗攻击性和分类准确性方面优于SOTA方法。
五、CNN与ViT对比
与CNN相比,Vision Transformer(ViT)取得了显著的成果,同时获得的预训练计算资源却少得多。与CNN相比,Vision Transformer(ViT)表现出的归纳偏差通常较弱,导致在较小的数据集上进行训练时更加依赖模型正则化或数据增强(AugReg)。
-
效率
CNN通过局部感受野进行特征提取,计算量随着网络层数量的增加而增加。而ViT由于使用自注意力机制,其计算复杂度通常为在2),其中N是输入序列的长度(即图像块的数量)。因此,ViT在处理大图像时,计算量可能会比CNN大,但随着硬件性能的提升,Transformer架构也逐渐能够在大型数据集上训练高效。
-
提取特征的方式
CNN通过拓扑操作进行特征提取,注重局部特征的学习,尤其擅长捕获空间的局部信息。而ViT则通过自注意力机制进行全局特征的学习,能够捕获图像中不同区域之间的长距离依赖。对于复杂的图像任务,ViT的全局建模能力通常能够超越CNN的局部建模。
-
数据需求
CNN模型一般能够在较小的数据集上取得训练的表现,但ViT通常需要大量的数据才能进行有效的。在数据量较小的情况下,ViT的性能可能不如 CNN。因此,ViT在数据量的任务中表现更为重要。虽然Transformer架构已成为涉及自然语言处理(NLP)的任务的最高标准,但其与计算机视觉(CV)相关的用例仍然很少。在许多计算机视觉任务中,将注意力机制与卷积神经网络(CNN)结合使用,或者在保留CNN整体结构的同时替代CNN的某些方面。流行的图像识别模型包括ResNet、VGG、YOLOv3、YOLOv7或YOLOv8以及Segment Anything(SAM)。
然而,这种对CNN的依赖并不是强制性的,直接应用于图像块序列的纯变换器可以在图像分类任务中发挥出色的作用。
六、ViT用例和应用
ViT在流行的图像识别任务中有着广泛的应用,例如物体检测、分割、图像分类和动作识别。此外,ViT在生成建模和多模态任务中也有广泛应用,包括视觉基础任务、视觉问答和视觉推理等。
-
图像分类
大规模分类:Google的ViT模型在JFT-300M等超大数据集上训练后,分类精度超越ResNet。
细粒度分类:如鸟类或植物物种识别,ViT可区分细微纹理差异(如羽毛颜色、叶片形状)。
-
目标检测与分割
自动驾驶:ViT用于道路场景中车辆、行人检测,利用全局上下文减少遮挡误判。
医疗影像:分割肿瘤区域时,ViT的长程依赖建模能识别病灶边缘的扩散特征。
-
图像生成
艺术创作:生成风格化图像时,ViT的自注意力机制能协调全局色彩与局部笔触。
数据增强:为小样本任务生成逼真训练数据(如罕见病医学影像)。
-
多模态任务
CLIP模型:OpenAI的CLIP利用ViT提取图像特征,与文本编码对齐,支持零样本图像检索。
视频理解:将视频帧序列输入ViT,结合时间建模(如TimeSformer)分析动作时序。
ViT通过其全局建模能力,正在重塑计算机视觉领域,未来或与CNN形成互补,成为多模态智能系统的核心组件。
七、ViT的挑战
虽然ViT在多个任务中取得了优异的成绩,但它也面临一些挑战,包括与架构设计、泛化、鲁棒性、可解释性和效率相关的问题。
-
大规模数据集的依赖
ViT在训练时大量的数据才能发挥其优势。由于ViT基于Transformer架构,而Transformer模型在自然语言处理(NLP)中表现出色,主要是因为它能够从大量的文本数据中学习到丰富的上下文信息。在任务关系中,ViT也需要大量的图像数据来学习有效的特征,尤其是全局。
-
计算复杂度和内存消耗
ViT的计算复杂度较高,尤其是在处理大图像时。Transformer的自注意力机制需要计算所有图像块之间的相似程度,这会导致时间和内存的消耗呈平方级增长。特别是在图像分割成更多小块时,计算的成本将显著增加。
-
长距离依赖建模的困难
虽然ViT的自注意力机制能够建模全局的长距离依赖,但在某些复杂的视觉任务中,ViT可能仍然难以捕捉图像中的长距离空间信息,特别是在较浅的层次中。
总体而言,虽然ViT的Transformer架构是视觉处理任务的一个有前途的选择,但在ImageNet等中型数据集上从头开始训练时,ViT的性能仍然不如类似规模的CNN替代方案(例如ResNet)。
八、总结
ViT模型的提出标志着计算机视觉领域的一次重要突破,展现了Transformer架构在图像处理中的潜力。相比于传统的CNN,ViT通过自注意力机制实现了全局建模,能够捕捉更复杂的图像特征,尤其在大规模数据集上的表现非常优异。尽管ViT在计算复杂度和数据需求上存在一些挑战,但随着硬件的进步和优化算法的提出,ViT无疑会成为未来计算机视觉领域的一个重要方向。
随着研究的深入,我们有理由相信,ViT和Transformer的变种将在未来的视觉任务中发挥更大的作用。
相关文章:
Vision Transformer:打破CNN垄断,全局注意力机制重塑计算机视觉范式
目录 引言 一、ViT模型的起源和历史 二、什么是ViT? 图像处理流程 图像切分 展平与线性映射 位置编码 Transformer编码器 分类头(Classification Head) 自注意力机制 注意力图 三、Coovally AI模型训练与应用平台 四、ViT与图像…...
linux查看所有程序占用的本地端口
sudo ss -tulwnp ss是Socket Statistics的缩写,用来替代旧的netstat工具,功能更强大,执行更快。它用于查看系统的网络连接情况,包括TCP、UDP等协议的信息。 查阅ss的帮助文档(man ss),发现选项…...
java后端开发day15--字符串(一)
(以下内容全部来自上述课程) 1.API (Application Programming Interface 应用程序编程接口) 1.简单理解 简单理解:API就是别人已经写好的东西,我们不需要自己编写,直接使用即可。 Java API&…...
C++STL容器之map的使用及复现
map 1. 关联式容器 vector、list、deque、forward_list(C11) 等STL容器,其底层为线性序列的数据结构,里面存储的是元素本身,这样的容器被统称为序列式容器。而 map、set 是一种关联式容器,关联式容器也是用来存储数据的…...
lvs的DR模式
基于Linux的负载均衡集群软件 LVS 全称为Linux Virtual Server,是一款开源的四层(传输层)负载均衡软件 Nginx 支持四层和七层(应用层)负载均衡 HAProxy 和Nginx一样,也可同时支持四层和七层(应用层)负载均衡 基于Linux的高可用集群软件 Keepalived Keepalived是Linux…...
FlutterWeb实战:07-自动化部署
Flutter Web 开发打包后,可以手动发布到服务器上,通过 nginx 来托管静态页面。本文将介绍如何将这一过程自动化。 整体思路 使用脚本自动化构建,然后使用 Docker 打包成镜像,最后部署在服务器上。 自动化构建 这里使用 GitLab-…...
剑指 Offer II 020. 回文子字符串的个数
comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20020.%20%E5%9B%9E%E6%96%87%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E4%B8%AA%E6%95%B0/README.md 剑指 Offer II 020. 回文子字符串的个数 题目描述 …...
vue中附件下载及打印功能
1.附件dom 注:fileList是由后台返回的附件数组,数组中包含附件名称fileName,附件地址url,附件id等信息 <el-form-item label"附件" style"width: 100% !important;" v-if"modelTypeborrowDetail"><d…...
Python(十九)实现各大跨境船公司物流查询数据处理优化
一、前言 之前已经实现了常用 跨境物流船司 基础信息查询功能,如下所示 实现各大跨境船公司[COSCO/ZIM/MSK/MSC/ONE/PIL]的物流信息查询:https://blog.csdn.net/Makasa/article/details/145484999?spm1001.2014.3001.5501 然后本章在其基础上做了一些…...
android 安装第三方apk自动赋予运行时权限
摘要:行业机使用场景点击运行时权限很麻烦,而随着android的演进,对于权限的管控越发严格。故本文通过对系统的修改实现第三方app在运行时直接获取全部权限。 通过属性ro.perms.force_grant控制功能开关。 Index: frameworks/base/services/…...
java8、9新特性
JAVA8 Lambda 表达式 (parameters) -> expression 或 (parameters) ->{ statements; } 提供了一种更为简洁的语法,尤其适用于函数式接口。相比于传统的匿名内部类,Lambda 表达式使得代码更为紧凑,减少了样板代码的编写。 它允许将函…...
程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<9>
大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 这一节是对之前内容的修整 目录 一、传值调用和传址调用二、数组名的理解三、指针访问数组四、结尾 一…...
Java网络编程入门
网络编程是指通过计算机网络进行数据传输和通信的过程。在Java中,网络编程提供了一套强大的API,使得开发者能够轻松地创建网络应用程序。本文将介绍Java网络编程的基本概念和一些常用的类。 1.网络编程的基本概念 在网络编程中,我们通常需要…...
2.4 构建模块化应用
第4章:构建模块化应用 模块化应用是 JDK 9 的核心特性之一,通过模块化系统(Project Jigsaw)实现代码的强封装和显式依赖管理。本章详细讲解如何从零构建一个模块化应用,包括模块定义、编译、打包、运行及调试。 4.1 模…...
14.1 Auto-GPT 项目定位与价值解读:揭开自主智能体的神秘面纱
Auto-GPT 项目定位与价值解读:揭开自主智能体的神秘面纱 关键词:Auto-GPT 核心机制、自主任务分解、LangChain 智能体、持续自我优化、AGI 实践路径 一、为什么 Auto-GPT 能引爆技术圈? 1.1 从工具到员工的范式转移 维度传统AI系统Auto-GPT 智能体输入方式精确指令(“翻译…...
【Elasticsearch】分析器的构成
在Elasticsearch中,分析器(Analyzer)是一个处理文本数据的管道,它将输入的文本转换为一系列词元(tokens),并可以对这些词元进行进一步的处理和规范化。分析器由以下三个主要组件构成:…...
2025 年前端开发现状分析:卷疯了还是卷麻了?
一、前端现状:框架狂飙,开发者崩溃 如果你是个前端开发者,那么你大概率经历过这些场景: 早上打开 CSDN(或者掘金,随便),发现又有新框架发布了,名字可能是 VueXNext.js 之…...
单例模式详解(Java)
单例模式详解(Java) 一、引言 1.1 概述单例模式的基本概念和重要性 单例模式是一种常用的软件设计模式,它确保一个类在整个应用程序中只有一个实例,并提供一个全局访问点来访问这个唯一实例。这种模式在资源管理、配置设置和日志记录等方面非常有用,因为它们通常只需要…...
后端面试题
以下是一些常见的后端面试题: 一、通用基础 请简述HTTP协议的工作原理。 答案: HTTP是基于请求 - 响应模型的协议。客户端(通常是浏览器)向服务器发送一个HTTP请求,请求包含请求行(包含请求方法,如GET、POST等、请求的URL和HTTP版本)、请求头(包含诸如浏览器类型、接…...
深入理解Linux网络随笔(一):内核是如何接收网络包的(上篇)
深入理解Linux网络随笔(一):内核是如何接收网络包的(上篇) 1、TCP/IP模型概述 从Linux视角看,TCP/IP网络分层模型包括用户空间和内核空间。用户空间(应用层)负责HTTP、FTP等协议的…...
SQL-leetcode—1393. 股票的资本损益
1393. 股票的资本损益 Stocks 表: ---------------------- | Column Name | Type | ---------------------- | stock_name | varchar | | operation | enum | | operation_day | int | | price | int | ---------------------- (stock_name, operation_day) 是这张…...
热更图片方案
项目平常需要对线上一些图片资源修正,所以需要热更图片功能。 远端入口新增字段配json文件 {"1.1.22030303":{"sprite":{"assets/ui/common/images/acient_gold.png" : "https://aaaa.png","assets/ui/common/image…...
Flutter PIP 插件 ---- iOS Video Call
以下是一篇关于在 iOS 中实现画中画(PiP)功能的技术博客: iOS 画中画(PiP)功能实现指南 简介 画中画(Picture in Picture, PiP)是一项允许用户在使用其他应用时继续观看视频内容的功能。本文将详细介绍如何在 iOS 应用中实现 PiP 功能。 系统要求 iOS 15.0 及以上版本AVKi…...
本地部署DeepSeek开源大模型:从零开始的详细教程
友情提示:本文内容全部由银河易创(https://ai.eaigx.com)AI创作平台deepseek-reasoner模型生成,仅供参考。请根据具体情况和需求进行适当的调整和验证。 近年来,随着人工智能技术的飞速发展,大模型在各个领…...
java项目之基于SSM会议管理系统的设计与实现源码(ssm+mysql)
项目简介 基于SSM会议管理系统的设计与实现实现了以下功能: 基于SSM会议管理系统的设计与实现的主要使用者分为:管理员登录后修改个人的密码。用户管理中,对公司内的用户进行管理,包括会议管理员和员工,管理部门信息…...
PortSwigger——WebSockets vulnerabilities
文章目录 一、WebSockets二、Lab: Manipulating WebSocket messages to exploit vulnerabilities三、Lab: Manipulating the WebSocket handshake to exploit vulnerabilities四、Using cross-site WebSockets to exploit vulnerabilities4.1 跨站WebSocket劫持(cro…...
STM32系统架构介绍
STM32系统架构 1. CM3/4系统架构2. CM3/4系统架构-----存储器组织结构2.1 寄存器地址映射(特殊的存储器)2.2 寄存器地址计算2.3 寄存器的封装 3. CM3/4系统架构-----时钟系统 STM32 和 ARM 以及 ARM7是什么关系? ARM 是一个做芯片标准的公司,…...
智能GUI Agent是什么,有什么应用领域
智能GUI Agent是什么 研究背景与目的:GUI长期主导人机交互,LLM特别是多模态模型的出现,为GUI自动化带来变革,催生了基于LLM的GUI智能体。这些智能体可理解自然语言指令,处理复杂GUI元素并执行操作,改变了用户与软件交互方式。论文旨在梳理该领域发展脉络,剖析关键要素,…...
Python3操作MongoDB批量upsert
个人博客地址:Python3操作MongoDB批量upsert | 一张假钞的真实世界 代码如下: mongoClient MongoClient(mongodb://172.16.72.213:27017/) opsDb mongoClient.ops azScheduled opsDb.azScheduledFlowbulkOpers [] for flow in scheduledFlows.valu…...
3dgs 2025 学习笔记
CVPR 2024 3D方向总汇包含(3DGS、三维重建、深度补全、深度估计、全景定位、表面重建和特征匹配等)_cvpr2024-structure-awaresparse-viewx-ray3dreconstr-CSDN博客 https://github.com/apple/ml-hugs 3DGS COLMAP-Free 3D Gaussian Splatting ⭐code &…...
大模型笔记:pytorch实现MOE
0 导入库 import torch import torch.nn as nn import torch.nn.functional as F 1 专家模型 #一个简单的专家模型,可以是任何神经网络架构 class Expert(nn.Module):def __init__(self, input_size, output_size):super(Expert, self).__init__()self.fc nn.L…...
C#/.NET/.NET Core技术前沿周刊 | 第 25 期(2025年2.1-2.9)
前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。 欢迎投稿、推荐…...
package.json 文件配置
创建 Node.js 的配置文件 package.json npm init -y package.json 文件配置说明 配置说明示例name指定项目的名称,必须是小写字母,可以包含字母、数字、连字符(-)或下划线(_),不能有特殊字符…...
相机模数转换
模拟图像是什么? 模拟图像是指连续变化的图像,它通常来源于现实世界的物理场景,并通过光学系统(如相机镜头)投射到感光介质上。模拟图像是连续的,这意味着它在空间和颜色值上都有无穷的细节。例如…...
mysql大数据量分页查询
一、什么是MySQL大数据量分页查? MySQL大数据量分页查是指在使用MySQL数据库时,将大量数据分成多个较小的部分进行显示,以提高查询效率和用户体验。分页查询通常用于网页或应用程序中,以便用户能够逐步浏览结果集。 二、为什…...
组织结构改革:激活企业活力的 “源头活水”
难以适应市场变化、内部沟通与协作不畅、决策效率低下、运营成本增加、人才流失严重、员工士气下降、战略目标难以实现……企业如何根据市场环境变化和自身发展需求,灵活调整组织框架,赋能企业的持续健康发展? 某国有投资建设集团旗下的二级…...
金融风控项目-1
文章目录 一. 案例背景介绍二. 代码实现1. 加载数据2. 数据处理3. 查询 三. 业务解读 一. 案例背景介绍 通过对业务数据分析了解信贷业务状况 数据集说明 从开源数据改造而来,基本反映真实业务数据销售,客服可以忽略账单周期,放款日期账单金…...
Java常用设计模式面试题总结(内容详细,简单易懂)
设计模式的分类 创建型模式:通过隐藏对象创建的细节,避免直接使用 new 关键字实例化对象,从而使程序在判断和创建对象时更具灵活性。常见的模式包括: 工厂模式抽象工厂模式单例模式建造者模式原型模式 结构型模式:通…...
【Elasticsearch】文本分析Text analysis概述
文本分析概述 文本分析使 Elasticsearch 能够执行全文搜索,搜索结果会返回所有相关的结果,而不仅仅是完全匹配的结果。 如果你搜索“Quick fox jumps”,你可能希望找到包含“A quick brown fox jumps over the lazy dog”的文档,…...
ATF系统安全从入门到精通
CSDN学院课程连接:https://edu.csdn.net/course/detail/39573...
C# 上位机--变量
C# 上位机--变量 在 C# 上位机开发领域,变量是构建程序逻辑的基础元素之一。它就像是一个容器,用于存储各种类型的数据,从简单的数值到复杂的对象。正确理解和使用变量,对于开发出高效、稳定且易于维护的上位机程序至关重要。本文…...
π 的奥秘:如何用有理数逼近无理数?
本文将围绕有理数、无理数、连续统以及它们之间的深刻联系展开讨论,并结合具体的数学理论如康托尔区间套定理、戴德金分割、柯西施瓦茨不等式等,进行简要探讨 由于本文并未深入探讨,可能存在部分不严谨的地方,也欢迎各位进行纠正…...
LeetCode --- 436周赛
题目列表 3446. 按对角线进行矩阵排序 3447. 将元素分配给有约束条件的组 3448. 统计可以被最后一个数位整除的子字符串数目 3449. 最大化游戏分数的最小值 一、按对角线进行矩阵排序 直接模拟,遍历每一个斜对角线,获取斜对角线上的数字,排…...
绘制中国平安股价的交互式 K 线图
在本文中,探索如何使用 Python 的强大库进行股市数据分析与可视化。我们将以中国平安(股票代码:sh601318)为例,展示如何获取其股票数据,并绘制一张交互式 K 线图。 K 线图是股市分析中不可或缺的工具,它能够直观地显示股票的波动情况,包括开盘价、收盘价、最高价和最低…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ECU复位0x11服务) 作者:车端域控测试工程师 更新日期:2025-02-12 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 二、ECU复位服务(0x11服务&…...
Unity URP的2D光照简介
官网工程,包括2d光照,动画,动效介绍: https://unity.com/cn/blog/games/happy-harvest-demo-latest-2d-techniques https://docs.unity3d.com/6000.0/Documentation/Manual/urp/Lights-2D-intro.html 人物脸部光照细节和脚上的阴影…...
自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑
如果你的预算是 3万元人民币,希望训练和微调 7B 参数规模的人工智能大模型(如 LLaMA、Mistral 等),你需要一台高性能的深度学习工作站。在这个预算范围内,以下是推荐的配置: 1. 关键硬件配置 (1) GPU (显卡…...
shell脚本自动安装MySQL8
环境:centos7版本:8.0.28安装包:mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 二进制包要求:安装包和shell脚本在同一目录下执行方式:sudo ./install_mysql8.sh #!/bin/bash# 定义MySQL安装目录和压缩包名称MYSQL_DIR…...
使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器进行模型检查点处理
2023 年 11 月,Amazon 宣布推出适用于 PyTorch 的 S3 连接器。适用于 PyTorch 的 Amazon S3 连接器提供了专为 S3 对象存储构建的 PyTorch 数据集基元(数据集和数据加载器)的实现。它支持用于随机数据访问模式的地图样式数据集和用于流式处理…...
DeepAR:一种用于时间序列预测的深度学习模型
介绍 DeepAR是一种基于递归神经网络(RNN)的时间序列预测模型,由亚马逊在2017年提出。它特别适用于处理多变量时间序列数据,并能够生成概率预测。DeepAR通过联合训练多个相关时间序列来提高预测性能,从而在实际应用中表…...