从头实现一个Vision Transformer(ViT)模型

本文针对简单的MNIST手写数字数据集识别的需求,完成了一个最简单的Vision Transformer模型的实现、训练和验证测试,建立对Vision Transformer模型实现流程的完整理解。 MNIST手写数字数据集是最简单的机器视觉数据集,基于MNIST实现一个Vision Transformer模型来实现手写数字字符的识别,难度不会太大,对于模型训练所需要的数据以及算力资源要求也不高,因此通过训练一个MNIST数据集的ViT识别模型,是一个绝佳的入门Vision Transformer模型的实验。

一文入门Vision in Transformer(ViT)模型的架构

本文详细总结了Vision in Transformer模型的设计架构,以及图像其该模型架构中的完整处理流程,帮助建立对ViT模型的基础认识。 Transformer架构在自然语言处理领域(Natural Language Processing)中的各种大语言模型中的到了非常广泛的应用,而2020年Google的一篇论文《An Image is Worth 16×16 Words》,把Transformer架构引入了计算机视觉领域,利用其Patch Embedding和自注意力机制对计算机视觉领域中传统的卷积神经王CNN的统治地位造成了极大的冲击,从而在人工智能的各个领域中已经显示出一统江湖的态势。

如何理解Transformer架构中的多头注意力机制?

本文详细总结了Transformer架构中的自注意力及其多头自注意力机制背后的工作原理和计算流程,以助于更深入的理解完整的Transformer设计架构。

一文彻底搞懂Transformer模型的Encoder结构与计算流程

本文通过对一个标准的Encoder-Only类型的Transformer架构,详细的总结了Encoder类型的网络架构以及数据流在其中的计算流程。

YOLOv1输出信息以及NMS过滤算法详细解读

2025-10-07
AI
YOLO
本文对YOLOv1模型的输出信息,以及对模型推理输出进行的NMS算法过滤等方面的信息进行总结和学习,为后续阶段解读更近的YOLO模型打好基础。

YOLOv2模型网络架构解读

2025-10-06
AI
YOLO
本文对YOLOv2模型的BN层、Darknet-19主干网络,以及模型的总体结构进行了详细的总结和学习。

YOLOv1模型网络架构解读

2025-10-01
AI
YOLO
虽然YOLOv1早已过时,但是其为one-stage架构奠定了重要的基础,本文对该模型的架构进行了详细的总结,为学习YOLO后续版本的架构打好基础。

镜头成像的Lens Shading问题

本文对镜头成像中普遍存在的Lens Shading问题进行详细的总结,分析该问题出现的原因,以及在相机产品进行图像调试中解决该问题的思路进行整理。

图像传感器和镜头的CRA参数解释及其匹配

CRA:Chief Ray Angle,也就是主入射光线角度。对于镜头和Image Sensor而言,虽然两者都有CRA参数,但是其实际定义是明显不同的。 Lens的CRA参数则由镜头的设计本身决定,表示从镜心到成像面的光线角度分布模式。也就是就是镜头各个位置的主光线(过入瞳中心的光线)通过光学系统到达像面以后,与像面交点位置处的法线之间的夹角。

大模型的MCP到底是什么

MCP:Model Context Protocol,即模型上下文协议,是由Anthropic公司(也就是Claude大模型的开发商)在2024年11月份所开源的标准通信协议,其目的是为大语言模型(LLM)与外部服务之间的通信提供一个标准化的接口协议,实现与外部数据源、工具等的无缝连接,从而扩展大模型的能力。

SD卡插入检测后的完整初始化流程解析

2025-03-09
硬件
SD
本文对SD卡插入后,在SD主控和卡之间的完整初始化流程进行完整的分析和解释:对于一个支持SD卡的消费类电子产品而言,当SD卡插入该产品的SD卡插槽以后,SD主控与SD卡之间的完整初始化通信流程,如何通过这个初始化的设置流程做好进一步读写SD卡的准备。 • 本文仅关注SD卡的SD模式,不考虑SPI模式。 从SD卡插入卡槽,到最后主控对SD卡进行数据内容的读写之间,主要存在以下五个阶段。后续部分对这五个阶段进行详细的解释说明。 • 物理检测与上电阶段 • 卡识别初始化阶段(识别模式) • 卡识别配置阶段 • 数据传输模式准备 • 数据通信阶段

SD通信命令协议解析之CMD6

2025-03-06
硬件
SD
在SD协议中,SD主控与SD卡之间交互流程中的CMD6是一个相对比较复杂的命令。其复杂性体现在: - 同一个命令既可以实现对SD卡支持特性的读取,也可以对其进行设置。 - CMD6命令的执行及其从SD卡上读取的响应消息,双方不仅在SD的CMD pin上通信,也涉及到了在DAT引脚上传输部分数据,而其他CMD命令的交互执行基本上都只涉及到CMD pin。 - CMD6命令中所支持的功能比较多,包含多个function group,每个function group又包含多个function mode。 所以,本篇比较在较为深入的学习SD物理层协议规范文件(V6.00版本)的基础上,详细的整理出来CMD6命令交互的流程。 CMD6执行的前提就是,先要通过CMD7指令选中SD卡,让SD卡进入传输状态Transfer Mode。