这是我本科的毕业设计:完全用 ARM64 汇编和 C 语言从零实现了 YOLO26n 的推理,没有借助任何现有的推理框架
做这件事的目的,是想搞清楚现代神经网络推理引擎在底层到底是怎么跑的,同时尝试一些优化手段,好让边缘 AI 在树莓派 4 上跑得更快更省资源
具体实现包含这些内容:
基于 ARM64 汇编和 C 的推理引擎
ARM NEON SIMD 指令优化
Winograd 卷积
优化过的 GEMM 内核
考虑缓存的分块策略
自定义的 ARM64 微内核
算子融合
注意力机制
YOLO26 的各个组件:ConvC3K2SPPFC2PSAPSABottleNeck 和 Detect
我把 YOLO26n 的模型参数提取出来,重新设计了一套内存布局,做成了适配这套推理流程的自定义二进制格式
目前这套实现能跑出正确的目标检测结果,不过性能提升没有我一开始预期的那么明显欢迎懂行的朋友给点反馈和建议,尤其是这几个方向:
CNN 推理优化
ARM NEON 与向量化
内存布局和缓存优化
底层神经网络加速
有任何意见或建议都欢迎交流