10.1.1. 简介

Horizon-Torch-Samples是基于Pytorch和Pytorch plugin的接口开发的算法工具,旨在为地平线BPU提供高效且用户友好的算法工具包。

Horizon-Torch-Samples所依赖的PyTorch是一个针对深度学习,并且使用GPU和CPU来优化的tensor library (张量库),是目前最受欢迎的深度学习框架之一。而Pytorch plugin是基于Pytorch开发的一套量化算法工具,专注于与计算平台相贴近的量化功能实现,其量化算法与地平线计算平台深度耦合,利用该工具训练得到的量化模型均可以正常编译和运行在地平线BPU(BERNOULLI/BAYES)上。

Horizon-Torch-Samples作为地平线开发的算法包基础框架,面向所有的算法用户开发和研究的用户,其量化训练与地平线计算平台紧密相关,包含了 浮点训练 –> QAT 训练 –> 定点转化预测 –> 模型检查编译(针对地平线 BPU) –> 上板精度仿真验证 的整套流程。同时它还可以提供包含分类,检测,分割等常见的图像任务的SOTA(state-of-the-art)深度学习模型。

10.1.1.1. 特性

  • 基于Pytorch和horizon_plugin_pytorch。

  • 包含从 浮点训练上板精度仿真验证 的整套流程。

  • 包含分类、检测、分割等常见图像任务的SOTA模型,且所有示例都与地平线BPU兼容。

10.1.1.2. 示例模型

Horizon-Torch-Samples目前已包含以下深度学习模型。

分类模型

  • MobileNet (V1 and V2)

  • ResNet (18 and 50)

  • EfficientNet

  • VargNet_V2

  • SwinTransformer

  • MixVarGENet

  • EfficieNasNet(m and s)

  • VargConvert

检测模型

  • RetinaNet

  • YOLOv3

  • FCOS

  • PointPillar

  • DETR

  • FCOS3D

  • CenterPoint

分割模型

  • UNet

  • Deeplabv3plus_Efficientnetm0

  • Deeplabv3plus_Efficientnetm1

  • Deeplabv3plus_Efficientnetm2

  • FastSCNN

光流模型

  • PWCNet

车道线检测模型

  • GaNet

多目标跟踪模型

  • Motr

双目深度估计模型

  • StereoNet

  • StereoNetPlus

Bev多任务模型

  • Bev_mt_gkt

  • Bev_mt_ipm_temporal

  • Bev_mt_ipm

  • Bev_mt_lss

  • Detr3d_efficientnetb3_nuscenes

  • Petr_efficientnetb3_nuscenes

  • Bev_cft

Keypoints Detection Model

  • Keypoint_efficientnetb0_carfusion

Lidar多任务模型

  • LidarMultiTask

轨迹预测模型

  • DenseTNT

以上模型中, ResNet18ResNet50VargConvertEfficieNasNetEfficientNetMixVarGENetVargNet_V2RetinaNetYOLOv3GaNetdeeplabv3plus efficientnetm0deeplabv3plus efficientnetm1deeplabv3plus efficientnetm2FastScnnBev_mt_gktBev_mt_ipmBev_mt_lssDetr3d_efficientnetb3_nuscenesKeypoint_efficientnetb0_carfusion 只需要做calibration量化精度就能达到目标,详细精度参考model_zoo