
《自动驾驶中的深度学习模型量化、部署、加速实战》(源代码)
文章平均质量分 71
以自动驾驶作为主要场景,实战为主,逐步深入算法模型量化、部署、加速等各个环节,掌握算法模型移植部署常用性能优化思路,打造完整的模型部署工作流,提升技术竞争力!越底层,越吃香!
Charmve
现就职于国内某top自动驾驶独角兽公司,量产自动驾驶系统架构师,专注于自动驾驶感知模块研发,有多年量产经验。同时,也是迈微AI研习社公众号主理人、优快云博客专家、阿里云社区专家博主,多次对外主题演讲和报告。对国内自动驾驶产品较为了解,熟悉自动驾驶系统全栈研发体系。
展开
-
《自动驾驶中的深度学习模型量化、部署、加速实战》专栏概述 | 实战教程,开放源码
这里主要是针对AI算法落地的项目部署,其中有基于TensorRT的部署、基于OpenCV+CUDA的部署以及基于NCNN的部署,项目包括简单的demo案例、目标检测、语义分割、实例分割、车道线检测以及Transformer等。大家可以参考以下的链接进行学习和指正原创 2022-09-28 00:35:51 · 881 阅读 · 0 评论 -
国内首个占据栅格网络全栈课程《从BEV到Occupancy Network,算法原理与工程实践》源代码
国内首个占据栅格网络全栈课程《从BEV到Occupancy Network,算法原理与工程实践》,包含端侧部署。原创 2024-08-16 17:21:23 · 566 阅读 · 1 评论 -
TensorRT模型部署实战,英伟达平台,C++ 和python对比(包含源码)
本文介绍了可以使用C ++ API执行的TensorRT用户目标和任务。 进一步的细节在 Samples 部分提供,并在适当的情况下链接到下面。假设您从一个已经训练好的模型开始。 本章将介绍使用TensorRT的以下必要步骤:从模型中创建 TensorRT 网络定义调用 TensorRT 构建器以从网络创建优化的运行时引擎序列化和反序列化引擎,以便在运行时快速重新创建喂入数据为引擎提供执行推理原创 2023-02-09 23:23:32 · 1051 阅读 · 0 评论 -
让深度学习更高效运行的两个视角,来自Momenta的PR分享
我们通过**计算量**和**访存量**来评判深度学习模型的性能。转载 2023-02-09 22:29:07 · 613 阅读 · 0 评论 -
地平线量化方案QAT原理介绍及实践,包含源代码
QAT全称为quantization aware training,是一种模型量化手段,通过在训练过的浮点模型中插入伪量化节点来实现后续的精度fintune,因此QAT相较于PTQ来说往往精度会更高。原创 2023-02-09 21:48:47 · 1155 阅读 · 0 评论 -
模型部署|ResNet_ibn基于TensorRT FP32生成Engnie文件的C++工程
#TensorRT模型部署# ResNet_ibn基于TensorRT FP32生成Engnie文件的C++工程,Linux运行,可自行修改到win下使用,推理代码可自行根据自己的实际情况书写,需要的小伙伴自取哈。图片为执行步骤和代码中文注释界面。原创 2022-09-28 00:50:44 · 518 阅读 · 0 评论 -
模型部署|Arcface+TensorRT的部署,模型推理部署
Arcface基于resnet50的部署项目,可以直接生成engine文件,同时对于PRelu的Plugin有详细的中文注释,希望可以教会你写plugin的套路,后续也会加入其他plugin的书写注释。原创 2022-09-28 00:44:29 · 547 阅读 · 0 评论 -
模型部署|ResNet50基于TensorRT FP16生成Engnie文件的C++工程
ResNet50基于TensorRT FP16生成Engnie文件的C++工程,ubuntu运行,可自行修改为win下使用,推理代码可自行根据自己的实际情况书写,需要的小伙伴自取哈。图片为执行步骤。原创 2022-09-28 00:32:49 · 980 阅读 · 0 评论 -
深度学习硬件加速综述写作心得
学会写出一篇好的综述文章,能较好的锻炼和提升自己的文献检索、阅读总结的能力,这是研究生必须掌握的能力。原创 2020-06-16 18:22:41 · 2796 阅读 · 3 评论 -
硬件加速 | 常用电路设计之PRBS伪随机码发生器的设计
一、PRBS伪随机码产生原理 PRBS 伪随机编码是一种专门用于在高速设计中测试高速串行通道传输误码率的一种编码类型。 PRBS伪随机码不仅具有随机序列的一些统计特性和高斯噪声所有的良好的自相关特征,而且具有某种确定的编码规则,同时又便于重复产生和处理,因而在通信领域应用广泛。生成原理是根据本原表达式来生成一段随机码流,本原表达式可以用线性反馈移位寄存器来表示,移位寄存器的长度称为阶数n,常用的阶数有 7, 9,原创 2020-06-13 12:02:00 · 2432 阅读 · 1 评论 -
硬件加速 | ZYNQ-7000 GP接口实现
1、GP接口简介 GP接口是ZYNQ-7000系列器件中用于实现PS与PL端进行数据通信的数据接口,GP接口传输数据速率一般较慢,通常用作控制信息的传输,在利用GP接口的时候,PS端的角色是Master,PL端为Slave,此时PS端传送控制信息控制PL端进行相应操作。整个PS端PL端利用GP接口进行数据交换的示意图如下图所示: 寄存器数量原创 2020-06-13 12:41:41 · 1507 阅读 · 0 评论 -
硬件加速 | ZYNQ-7000 PS端(ARM)网络编程(TCP协议)
ARM端的TCP协议编程步骤和UDP协议编程步骤完全相同,只是在ARM端的C代码实现不同,在本次TCP协议实现过程中我们主要利用了官方提供的Demo,然后根据自己的需要加以改写。原创 2020-06-13 12:47:26 · 1651 阅读 · 0 评论 -
硬件加速 | 常用电路设计之CRC校验码产生器的设计
一、CRC校验码的产生原理 循环冗余编码(CRC)是二进制通信系统中一种常用的差错检测方法,它是通过在原始数据后面添加冗余校验码来实现检测差错的目的。CRC编码的基本原理就是:CRC可由原始数据流的二进制去除以一称作为生成多项式的常数,将得到的商抛弃,余数加到原始数据流二进制数的后面得到,在接收端,用接收的数据再去除以该生成多项式,如果余数为0则校验通过,否则校验不通过。 &n原创 2020-06-13 12:25:18 · 1376 阅读 · 0 评论 -
嵌入式Linux平台部署AI神经网络模型Inference的方案
ONNX简述ONNX是一种AI神经网络模型的通用中间文件保存方法(可以理解成AI世界的XML),各种AI框架,Inference引擎,甚至OpenCV里面的dnn onnx相关的模块都可以解析ONNX文件并生成特定平台和运行框架所支持的神经网络模型。ONNX本身不是AI神经网络运行框架,只是AI神经网络模型通用中间描述文件格式GitHub链接https://github.com/onnx/onnx编程语言C++ / Python热度 ★★★★★☆TensorRT简原创 2020-07-06 22:55:46 · 3218 阅读 · 2 评论