专栏算法工具链【学习笔记】地平线算法工具链培训第二周

【学习笔记】地平线算法工具链培训第二周

puppy2023-11-30
127
0

Docker环境部署

Docker简介

开发者打包应用和依赖包到可移植镜像中,然后发布到任何使用Linux或者Windows操作系统机器上

Image:相当于root文件系统。

Container:镜像和容器的关系,镜像是静态的定义,容器是镜像运行时的实体。可被创建、启动等

Repository:镜像的仓库源

环境安装

CPU Docker

GPU Docker

常用命令

复制CPU Docker的下载命令,在mobaxterm中下载到本地,docker load去加载镜像

docker images查看镜像有哪些

docker run启动容器

PTQ本地环境安装

理论

PTQ:基于一些校准数据,直接通过工具进行模型量化,简单易用

QAT:浮点模型训练完成后,模型中插入伪量化节点再进行量化训练,使模型能感知到量化带来的损失,训练中不断优化精度获取最佳量化参数,精度保障。

不用docker可以用virtualenv

virtualenv:虚拟环境管理工具。

实操

PTQ快速模型转换与性能评测

PTQ模型转换

模型转换:浮点模型转换为能在地平线计算平台推理的混合异构模型

浮点模型:开源深度学习框架训练出来的模型

混合异构:支持模型同时包含BPU和CPU算子

hb_mapper工具进行PTQ模型转换,需要浮点模型、校准数据、yaml配置文件进行输入

fast-perf模式进行转换可省去yaml文件和校准数据准备过程,生成的bin模型只适用于性能评测

性能评测

看模型跑多快,两个指标:Latency,FPS

Latency:模型完成一帧推理的端到端耗时

FPS:充分利用计算机资源情况下,单位时间内能处理的图像帧数

静态性能评测:预估模型BPU部分算子耗时

动态性能评测:在开发板上实测模型总耗时

动态性能评估工具:hrt_model_exec工具

实操

QAT本地环境部署(不用docker)

Conda虚拟环境创建

QAT所需依赖环境

可通过灰色链接看QAT使用教程快速入门环节

板端环境部署

开发板连接方法

  • 串口连接:USB电脑,Micro-USB开发板,OE包提供的USB驱动(Windows)

  • 网口连接:一根网线

  • 远程连接:网线将开发板接入路由器

实战

倒数第二个端口,右键属性,端口设置,mobaxterm里的Session,按回车

hrut_ipfull g看开发板IP设置

  网口连接:网络和Internet,更改适配器选项,以太网,属性,Ipv4设置,对照开发板IP信息进行配套设置,IP地址和默认网关前三个和IP地址相同,确定完成设置,

成功

工具链板端工具安装

验证

第二种验证

开发板常用命令介绍

模型推理快速上手

前言

实例介绍

地平线征程5芯片算法工具链5.2BPU SDK API手册

程序结构

代码解读

PTQ配置文件详解(社区文章中找到)

参数总表

模型参数组

输入信息参数组

校准参数组

编译参数组

自定义算子参数组(可选)

参数具体说明

上面一个不推荐,下面一个推荐

等...

性能/精度相关参数

特性功能参数

算法工具链
杂谈
评论0
0/1000