diff --git a/README.md b/README.md index cb6675ca6121389d8a9bc2ce289615f41e7eb65b..f4843ebb80bc1e9a9ff1fbb40ba0bfb332ee3d27 100644 --- a/README.md +++ b/README.md @@ -23,32 +23,18 @@ - 请参考[CANN社区版文档](https://hiascend.com/document/redirect/CannCommunityInstWizard?utm_source=gitee&utm_medium=sample&utm_campaign=samples)相关章节,对昇腾硬件、CANN软件及相应深度学习框架进行安装准备。 - 本源码仓会适配CANN软件版本创建相应的标签并发行,关于CANN软件版本与本源码仓中标签的配套关系可参见["本源码仓标签与CANN版本配套表"](docs/MATCH.md#cannversionmap)。**需要注意,为确保您的源码定制开发顺利进行,请选择配套的CANN版本与Gitee标签源码,使用master分支可能存在版本不匹配的风险。** -## 推荐样例 - -| **样例名称** | **样例介绍** | **开发语言** | -|---|---|---| -| [DVPP接口样例](https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/0_data_process) | 图像视频处理(DVPP)单接口样例,包含图片视频解码(vdec/jpegd)、缩放(resize)、抠图(crop)、转换(vpc)等功能 | C++ | -| [单算子样例](https://gitee.com/ascend/samples/tree/master/cplusplus/level1_single_api/4_op_dev/2_verify_op) | 自定义算子开发介绍,单算子调用样例,包含Add/batchnorm/conv2d/lstm/matmul/reshape等算子 | C++ | -| [Ascend C单算子样例](https://gitee.com/ascend/samples/tree/master/operator) | 自定义Ascend C算子开发介绍,单算子调用样例,包含Add/LayerNorm/MatMul/MatMulLeakyRelu/MoeSoftMaxTopK等算子 | Ascend C | -| [sampleResnetQuickStart](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetQuickStart) | :+1:推理应用入门样例,基于Resnet50模型实现的图像分类应用 | C++/Python | -| [sampleResnetAIPP](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetAIPP) | AIPP特性使用,基于Resnet50模型实现的图像分类应用 | C++/Python | -| [sampleResnetDVPP](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetDVPP) | DVPP特性使用,基于Resnet50模型实现的图像分类应用 | C++/Python | -| [sampleYOLOV7](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7) | 使能DVPP+AIPP特性,基于YoloV7模型实现的物体检测应用 | C++ | -| [sampleResnetRtsp](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetRtsp) | RTSP视频流输入,基于Resnet50模型实现的图像分类应用 | C++ | -| [sampleCarColor](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleCarColor) | 多模型串接,基于YoloV7模型和颜色分类模型实现的检测分类应用 | C++ | -| [sampleYOLOV7MultiInput](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7MultiInput) | :+1:多路输入综合样例,基于YoloV7模型实现的物体检测应用,支持多路RTSP流/视频输入、支持多卡并行 | C++ | -| [sampleCrowdCounting](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleCrowdCounting) | 统计图片人头数量,基于CrowdCounting模型实现的推理应用 | Python | -| [sampleYOLOV7NMSONNX](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7NMSONNX) | 后处理使用CANN算子进行加速,基于YoloV7模型实现的物体检测应用 | Python | - - ## 仓库结构 ``` +- /best_practices:CANN最佳实践样例 +- /common:samples仓公共文件目录 - /cplusplus:C++样例归档路径(待迁移至/inference) |--/contrib:外部贡献推理样例 |--/level1_single_api:CANN AscendCL接口、DVPP接口、Graph接口等单接口样例 |--/level2_simple_inference:AscendCL推理应用样例 + |--/... - /docs:CANN Samples样例使用相关说明、FAQ文档 +- /growthpath:开发者CANN的学习路径,帮助开发者快速掌握每一阶段知识点及开发技巧 - /inference:推理应用相关样例 |--/ACLHelloWorld:AscendCL推理应用入门“Hello World” |--/acllite:AscendCL高阶封装接口,包含C++及Python版本 @@ -56,29 +42,53 @@ |--/mediaProcess:媒体(音视频)接口相关样例 |--/memoryManagement:AscendCL内存管理样例 |--/modelInference:推理应用样例目录,包含C++及Python版本 -- /operator:算子开发与使用相关样例 - |--/AddCustomSample:Ascend C算子开发Add样例 - |--FrameworkLaunch: 单算子工程及调用样例 - |--AclNNInvocation: 单算子API执行样例 - |--AclOfflineModel: 单算子模型执行样例 - |--AclOnlineModel: 单算子模型执行样例 - |--AddCustom: 单算子工程 - |--CppExtensions: pybind调用样例 - |--PytorchInvocation: pytorch调用样例 - |--TensorFlowInvocation: tensorflow调用样例 - |--KernelLaunch: 内核调试调用样例 - |--AddKernelInvocation: 内核调试调用样例 - |--AddKernelInvocationNeo: Kernel Launch调试样例 - |--AddKernelInvocationTilingNeo: 带Tiling的Kernel Launch调试样例 |--/... +- /operator:Ascend C算子开发与使用相关样例 + |ascendc + |0_introduction:简单的示例,适合初学者 + |1_utilities:编译工程和自定义工程、assert及debug功能、硬件平台信息的查询能力等 + |2_features:Ascend C的特性 + |3_libraries:类库的使用示例,包括数学库,激活函数等 + |4_best_practices:最佳实践示例 + |tutorials:生态教学的示例 + |--/AddCustomSample:Ascend C算子开发Add样例 +- /operator_contrib:Ascend C算子开发者贡献样例 + |--/UnalignAddCustomSample:Ascend C算子开发Add算子(非对齐)样例 |--/... - /python:Python样例归档路径(待迁移至/inference) |--/contrib:外部贡献推理样例 |--/level1_single_api:CANN AscendCL接口、DVPP接口、Graph接口等单接口样例 |--/level2_simple_inference:AscendCL推理应用样例 |--/level3_multi_model:多模型串接综合样例 +- /robot:昇腾开发板智能车实际应用样例 +- /st:样例测试用例,主要用于样例的功能性验证 +- /training:训练应用样例 + ``` +## 算子开发样例 +| **样例名称** | **样例介绍** | **开发语言** | +|---|---|---| +| [AddCustomSample](https://gitee.com/ascend/samples/tree/master/operator/ascendc/tutorials/AddCustomSample) | 基于Ascend C的Add自定义Vector算子及调用样例 | C++ | +| [HelloWorldSample](https://gitee.com/ascend/samples/tree/master/operator/ascendc/tutorials/HelloWorldSample) | 基于Ascend C的自定义算子调用结构演示样例 | C++ | +| [MatmulCustomSample](https://gitee.com/ascend/samples/tree/master/operator/ascendc/tutorials/MatmulCustomSample) | 基于AscendC的Matmul自定义Cube算子及调用样例 | C++ | +| [MatmulLeakyReluCustomSample](https://gitee.com/ascend/samples/tree/master/operator/ascendc/tutorials/MatmulLeakyReluCustomSample) | 基于AscendC的MatmulLeakyRelu自定义Cube+Vector算子及调用样例 | C++ | +| [UnalignAddCustomSample](https://gitee.com/ascend/samples/tree/master/operator_contrib/UnalignAddCustomSample) | 基于AscendC的Add算子(非对齐)算子及调用样例 | C++ | + +## 推理开发样例 +| **样例名称** | **样例介绍** | **开发语言** | +|---|---|---| +| [DVPP接口样例](https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/0_data_process) | 图像视频处理(DVPP)单接口样例,包含图片视频解码(vdec/jpegd)、缩放(resize)、抠图(crop)、转换(vpc)等功能 | C++ | +| [sampleResnetQuickStart](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetQuickStart) | 推理应用入门样例,基于Resnet50模型实现的图像分类应用 | C++/Python | +| [sampleResnetAIPP](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetAIPP) | AIPP特性使用,基于Resnet50模型实现的图像分类应用 | C++/Python | +| [sampleResnetDVPP](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetDVPP) | DVPP特性使用,基于Resnet50模型实现的图像分类应用 | C++/Python | +| [sampleYOLOV7](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7) | 使能DVPP+AIPP特性,基于YoloV7模型实现的物体检测应用 | C++ | +| [sampleResnetRtsp](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleResnetRtsp) | RTSP视频流输入,基于Resnet50模型实现的图像分类应用 | C++ | +| [sampleCarColor](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleCarColor) | 多模型串接,基于YoloV7模型和颜色分类模型实现的检测分类应用 | C++ | +| [sampleYOLOV7MultiInput](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7MultiInput) | :+1:多路输入综合样例,基于YoloV7模型实现的物体检测应用,支持多路RTSP流/视频输入、支持多卡并行 | C++ | +| [sampleCrowdCounting](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleCrowdCounting) | 统计图片人头数量,基于CrowdCounting模型实现的推理应用 | Python | +| [sampleYOLOV7NMSONNX](https://gitee.com/ascend/samples/tree/master/inference/modelInference/sampleYOLOV7NMSONNX) | 后处理使用CANN算子进行加速,基于YoloV7模型实现的物体检测应用 | Python | + ## 变更日志