From 279eb6560a5bf56998f00fbf5a35c310c9b8a1fb Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Sat, 28 Jun 2025 02:37:31 +0000 Subject: [PATCH] Update README.md --- model_examples/PointTransformerV3/README.md | 337 +++++++++++--------- 1 file changed, 184 insertions(+), 153 deletions(-) diff --git a/model_examples/PointTransformerV3/README.md b/model_examples/PointTransformerV3/README.md index 4d82e838..284a01d1 100644 --- a/model_examples/PointTransformerV3/README.md +++ b/model_examples/PointTransformerV3/README.md @@ -1,153 +1,184 @@ -# PointTransformerV3 for PyTorch - -## 目录 - -- [PointTransformerV3 for PyTorch](#PointTransformerV3-for-pytorch) - - [目录](#目录) -- [简介](#简介) - - [模型介绍](#模型介绍) - - [支持任务列表](#支持任务列表) - - [代码实现](#代码实现) -- [PointTransformerV3](#PointTransformerV3) - - [准备训练环境](#准备训练环境) - - [安装昇腾环境](#安装昇腾环境) - - [安装模型环境](#安装模型环境) - - [准备数据集](#准备数据集) - - [快速开始](#快速开始) - - [训练任务](#训练任务) - - [开始训练](#开始训练) - - [训练结果](#训练结果) -- [变更说明](#变更说明) -- [FAQ](#faq) - -# 简介 - -## 模型介绍 - -PointTransformerV3专注于在点云处理的背景下克服现有的准确性和效率之间的权衡,将简单性和效率置于某些机制的准确性之上,用以特定模式组织的点云的高效串行neighbor mapping来取代KNN的精确neighbor搜索。 这一原理实现了显著的缩放,将感受野从16个点扩展到1024个点,同时保持高效,在跨越室内和室外场景的20多项下游任务中取得了最先进的成果。 - -## 支持任务列表 - -本仓已经支持以下模型任务类型 - -| 模型 | 任务列表 | 是否支持 | -| :--: | :-------------: | :------: | -| PointTransformerV3 | 训练 | ✔ | - -## 代码实现 - -- 参考实现: - -``` -url=https://github.com/Pointcept/Pointcept -commit_id=e4de3c25f57d0625cdcb66589cf180e838a05b19 -``` - -- 适配昇腾 AI 处理器的实现: - -``` -url=https://gitee.com/ascend/DrivingSDK.git -code_path=model_examples/PointTransformerV3 -``` - -# PointTransformerV3 - -## 准备训练环境 - -### 安装昇腾环境 - -请参考昇腾社区中《[Pytorch框架训练环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/ptes)》文档搭建昇腾环境,本仓已支持表1中软件版本。 - -**表 1** 昇腾软件版本支持表 - -| 软件类型 | 支持版本 | -| :---------------: | :------: | -| FrameworkPTAdapter | 7.1.0 | -| CANN | 8.1.0 | - -### 安装模型环境 - -**表 2** 三方库版本支持表 - -| 三方库 | 支持版本 | -| :-----: | :------: | -| PyTorch | 2.1.0 | - -0. 激活 CANN 环境 - - 将 CANN 包目录记作 cann_root_dir,执行以下命令以激活环境 - - ``` - source {cann_root_dir}/set_env.sh - ``` - -1. 参考《[Pytorch框架训练环境准备](https://www.hiascend.com/document/detail/zh/ModelZoo/pytorchframework/ptes)》安装 2.1.0 版本的 PyTorch 框架和 torch_npu 插件。 - -2. 设置 PointTransformerV3 并安装相关依赖 - ``` - git clone https://github.com/Pointcept/Pointcept.git - cp patch.py Pointcept/tools - cp Ptv3.patch Pointcept - cp train_8p.sh Pointcept - cp requirements.txt Pointcept - cd Pointcept - git checkout e4de3c25f57d0625cdcb66589cf180e838a05b19 - git apply Ptv3.patch - pip install -r requirements.txt - ``` - -### 准备数据集 - -1. 用户需自行下载 nuScenes 数据集(包含lidarseg文件) - -2. 数据预处理, 得到info文件夹 - - ``` - # NUSCENES_DIR: the directory of downloaded nuScenes dataset. - # PROCESSED_NUSCENES_DIR: the directory of processed nuScenes dataset (output dir). - # MAX_SWEEPS: Max number of sweeps. Default: 10. - pip install nuscenes-devkit pyquaternion - python pointcept/datasets/preprocessing/nuscenes/preprocess_nuscenes_info.py --dataset_root ${NUSCENES_DIR} --output_root ${PROCESSED_NUSCENES_DIR} --max_sweeps 10 --with_camera - ``` - -3. 将数据集和预处理结果放置到模型目录下,info为数据预处理结果目录,文件结构排布如下: - ``` - data - |──nuscenes - | |──── raw - | | │── samples - | | │── sweeps - | | │── lidarseg - | | ... - | | │── v1.0-trainval - | | │── v1.0-test - | |──── info - ``` - -## 快速开始 - -### 训练任务 - -本任务主要提供**单机**的**8卡**训练脚本。 - -#### 开始训练 -- 在模型根目录下,运行训练脚本。 - ``` - cd model_examples/PointTransformerV3/Pointcept - bash train_8p.sh - ``` - -#### 训练结果 - -| 芯片 | 卡数 | Global Batchsize| mIou | FPS | 单步迭代耗时(ms) | -| :-----------: | :--: | :----:| :----------------: | :--: |:--: | -| 竞品A | 8p | 8 | 0.5517 | 35.56 | 225 | -| Atlas 800T A2 | 8p | 8 | 0.5538 | 11.92 | 671 | - -# 变更说明 - -2025.05.14:首次发布 - -# FAQ - -无 \ No newline at end of file +# Driving SDK + +## 简介 + +Driving SDK 是基于昇腾NPU平台开发的适用于自动驾驶场景的算子和模型加速库,提供了一系列高性能的算子和模型加速接口,支持 PyTorch 框架。 + +## 安装 + +### 前提条件 + +1. 本项目依赖昇腾提供的 `pytorch_npu` 包和 CANN 包,需要先安装对应版本的 `pytorch_npu` 和 CANN 软件包,具体配套关系见 pytorch 仓 [README](https://gitee.com/ascend/pytorch)。 + +### 从发布包安装 + +当前并未正式发布 whl 包,请参考源码安装方式。 + +### 从源码安装 + +1. 克隆原始仓。 + ```shell + git clone https://gitee.com/ascend/DrivingSDK.git -b master + ``` +2. 编译 Driving SDK。 + > 注意:请在仓库根目录下执行编译命令 + ```shell + bash ci/build.sh --python=3.8 + ``` + +## 卸载 + +暂无卸载说明。 + +## 快速上手 + +暂无快速上手说明。 + +## 特性介绍 + +Driving SDK 提供了多种高性能算子和模型加速接口,适配昇腾 AI 处理器,支持自动驾驶场景下的深度学习模型训练和推理加速。 + +## 目录结构及说明 + +- `model_examples`: 包含多个自动驾驶模型的示例代码和适配说明。 +- `ci`: 包含构建脚本和 Docker 配置文件。 +- `kernels`: 包含多个算子的实现代码。 +- `include`: 包含公共头文件。 +- `cmake`: 包含 CMake 构建配置文件。 +- `docs`: 包含 API 文档和使用说明。 + +## 算子清单 + +Driving SDK 提供了以下高性能算子: + +- `add_relu` +- `assign_score_withk` +- `bev_pool` +- `border_align` +- `box_iou` +- `boxes_overlap_bev` +- `cal_anchors_heading` +- `cartesian_to_frenet` +- `deformable_aggregation` +- `diff_iou_rotated` +- `dynamic_scatter` +- `furthest_point_sampling` +- `gather_nms3d_mask` +- `gaussian` +- `geometric_kernel_attention` +- `grid_sampler2d_v2` +- `group_points` +- `hypot` +- `knn` +- `max_pool2d` +- `min_area_polygons` +- `multi_scale_deformable_attn` +- `nms3d` +- `pixel_group` +- `points_in_box` +- `radius` +- `roi_align_rotated` +- `roipoint_pool3d` +- `scatter_add` +- `scatter_max` +- `scatter_mean` +- `sparse_conv3d` +- `subm_sparse_conv3d` +- `unique` +- `voxelization` +- `voxel_pooling_train` + +## 支持特性 + +Driving SDK 支持以下特性: + +- 高性能算子实现,适配昇腾 AI 处理器。 +- 支持 PyTorch 框架。 +- 提供模型加速接口,提升自动驾驶场景下的模型训练和推理效率。 + +## 模型清单 + +Driving SDK 适配了多个自动驾驶模型,包括但不限于: + +- BEVDet +- DETR3D +- SparseDrive +- PointPillar +- FCOS3D +- PivotNet +- SalsaNext +- MagicDriveDiT +- Mask2Former +- Panoptic-PolarNet +- StreamPETR +- HiVT +- QCNet +- BEVNeXt +- MatrixVT +- PanoOcc +- Senna +- LaneSegNet +- PointTransformerV3 + +## 支持的产品型号 + +Driving SDK 支持昇腾 AI 处理器系列,包括但不限于 Ascend 910、Ascend 310 等型号。 + +## 安全声明 + +Driving SDK 严格遵循昇腾平台的安全规范,确保算子和模型加速接口的安全性和稳定性。 + +## 构建安全声明 + +Driving SDK 的构建过程遵循昇腾平台的安全构建规范,确保构建环境和依赖项的安全性。 + +## 运行安全声明 + +Driving SDK 的运行过程遵循昇腾平台的安全运行规范,确保运行时的安全性和稳定性。 + +## 公网地址声明 + +Driving SDK 的官方代码仓地址为 [https://gitee.com/ascend/DrivingSDK](https://gitee.com/ascend/DrivingSDK)。 + +## 公开接口声明 + +Driving SDK 提供的公开接口详见 `docs/api` 目录下的文档。 + +## 通信安全加固 + +Driving SDK 采用昇腾平台的通信安全机制,确保算子和模型加速接口的通信安全性。 + +## 软件生命周期说明 + +Driving SDK 的版本维护策略如下: + +| **Driving SDK版本** | **维护策略** | **当前状态** | **发布时间** | **后续状态** | **EOL日期** | +|---------------------|-------------|--------------|----------------|------------------------|-------------| +| v7.1.RC1 | 常规版本 | 开发 | 2025/06/30 | 预计2025/12/30起无维护 | | +| v7.0.RC1 | 常规版本 | 维护 | 2025/03/30 | 预计2025/9/30起无维护 | | +| v6.0.0 | 常规版本 | 维护 | 2024/12/30 | 预计2025/6/30起无维护 | | +| v6.0.0-RC3 | 常规版本 | 无维护 | 2024/09/30 | 2025/3/30起无维护 | | + +## 分支维护策略 + +Driving SDK 的版本分支维护阶段如下: + +| **状态** | **时间** | **说明** | +|---------------------|------------|--------------------------------------------------| +| 计划 | 1-3 个月 | 计划特性 | +| 开发 | 3 个月 | 开发特性 | +| 维护 | 6-12 个月 | 合入所有已解决的问题并发布版本,针对不同的Driving SDK版本采取不同的维护策略,常规版本和长期支持版本维护周期分别为6个月和12个月 | +| 无维护 | 0-3 个月 | 合入所有已解决的问题,无专职维护人员,无版本发布 | +| 生命周期终止(EOL) | N/A | 分支不再接受任何修改 | + +## 免责声明 + +Driving SDK 由昇腾社区提供,仅用于技术预览和测试,不提供正式版本支持。用户在使用过程中如遇到问题,请提交 Issue 或 Pull Request。 + +## 致 Driving SDK 使用者 + +欢迎使用 Driving SDK,如有任何问题或建议,请提交 Issue 或联系昇腾社区维护人员。 + +## 致数据集所有者 + +Driving SDK 适配了多个自动驾驶数据集,感谢数据集所有者的贡献。 \ No newline at end of file -- Gitee