简介
Horizon-Torch-Samples是基于Pytorch和Pytorch plugin的接口开发的算法工具,旨在为地平线BPU提供高效且用户友好的算法工具包。
Horizon-Torch-Samples所依赖的PyTorch是一个针对深度学习,并且使用GPU和CPU来优化的tensor library (张量库),是目前最受欢迎的深度学习框架之一。而Pytorch plugin是基于Pytorch开发的一套量化算法工具,专注于与计算平台相贴近的量化功能实现,其量化算法与地平线计算平台深度耦合,利用该工具训练得到的量化模型均可以正常编译和运行在地平线BPU(BERNOULLI/BAYES/NASH)上。
Horizon-Torch-Samples作为地平线开发的算法包基础框架,面向所有的算法用户开发和研究的用户,其量化训练与地平线计算平台紧密相关,包含了 浮点训练 --> QAT 训练 --> 定点转化预测 --> 模型检查编译(针对地平线 BPU) --> 上板精度仿真验证 的整套流程。同时它还可以提供包含分类,检测,分割等常见的图像任务的SOTA(state-of-the-art)深度学习模型。
特性
- 基于Pytorch和horizon_plugin_pytorch。
- 包含从 浮点训练 到 上板精度仿真验证 的整套流程。
- 包含分类、检测、分割等常见图像任务的SOTA模型,且所有示例都与地平线BPU兼容。
示例模型
Horizon-Torch-Samples目前已包含以下深度学习模型。
| 模型类别 | 模型名称 |
|---|---|
| 分类模型 |
|
| 检测模型 |
|
| 分割模型 |
|
| 车道线检测模型 |
|
| 多目标跟踪模型 |
|
| 双目深度估计模型 |
|
| Bev多任务模型 |
|
| 关键点检测模型 |
|
| Lidar多任务模型 |
|
| 轨迹预测模型 |
|
| Occupancy预测模型 |
|
| 在线建图模型 |
|
| Lidar融合bev多任务模型 |
|
以上模型中,resnet18_imagenet 、 resnet50_imagenet 、 vargnetv2_imagenet 、 efficientnasnetm_imagenet 、 efficientnasnets_imagenet 、 efficientnet_imagenet 、 mixvargenet_imagenet 、 vargnetv2_imagenet 、ganet_mixvargenet_culane 、 deeplabv3plus_efficientnetm0_cityscapes 、deeplabv3plus_efficientnetm1_cityscapes 、 deeplabv3plus_efficientnetm2_cityscapes、 fastscnn_efficientnetb0tiny_cityscapes、 bev_gkt_mixvargenet_multitask_nuscenes 、bev_ipm_efficientnetb0_multitask_nuscenes 、 bev_lss_efficientnetb0_multitask_nuscenes、 flashocc_henet_lss_occ3d_nuscenes、 detr3d_efficientnetb3_nuscenes 和 keypoint_efficientnetb0_carfusion 只需要做calibration量化精度就能达到目标,详细精度参考model_zoo。
