开源软件项目学习中源码管理的最佳实践

在基于Github上的开源软件(像 Ultralytics 这样活跃且更新频繁的仓库)进行二次开发或预研学习的过程中,最头疼的莫过于:项目源仓库中的上游代码始终处于频繁更新的状态,而我自己在学习和预研的过程中所做的修改到处乱飞,最后连我自己都忘了改过哪里,一单合并代码就出现大量冲突,解决起来非常低效。 本文基于对网络上查询到的资料进行学习,找到了解决以上问题的一个合理的技术路径。而这一套工作流程也是很多团队做开源项目预研过程中的标准做法。简单总结起来就是:在Git 版本控制层面和 软件项目代码架构层面双管齐下,使用Fork + 分支隔离 + 模块化侵入的方式保证开源软件项目学习和研究的高效率。 本文以Github上的qiuqiangkong/audioset_tagging_cnn这个项目详细总结整个流程的具体实践方式。

从头实现一个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参数则由镜头的设计本身决定,表示从镜心到成像面的光线角度分布模式。也就是就是镜头各个位置的主光线(过入瞳中心的光线)通过光学系统到达像面以后,与像面交点位置处的法线之间的夹角。

以代码案例来详细介绍Function Calling

2025-03-11
AI
LLM
众所周知,大语言模型本身只是一个文本生成的工具,虽然有很强的文本生成能力和逻辑推理能力,但是LLM并不具备直接去执行外部功能操作的能力。因此,如果我们要把大模型用于实际产品的应用场景之中,只能利用大模型来生成文本信息的话,那么整个系统真正能够解决问题的能力就会大打折扣。 如果能够将大语言模型所具备的自然语言处理能力,与外部工具/API调用功能相结合的话,就能够显著增强大模型在实际应用场景中解决问题的能力。大模型所具备的function calling就提供了这样一种机制,能够把大模型处理文本的能力,与本地通过function调用的能力相结合,从而为大模型的实际运用提供了极大的拓展空间。

大模型的MCP到底是什么

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