概述
本章节包含常用亲和库接口,提供模型中常用的组合类接口,无需自行完成接口或导入第三方库。
API 名称  | 
原生函数/参考链接  | 
说明  | 
|---|---|---|
-  | 
bert自注意力与前层规范的融合实现。  | 
|
-  | 
bert自我注意的融合实现。  | 
|
-  | 
npu设备上使用的预取程序。  | 
|
-  | 
应用基于NPU的调制可变形2D卷积操作。ModulationDeformConv的实现主要是基于mmcv的实现进行设计和重构。  | 
|
-  | 
将NPU兼容的双向LSTM操作应用于输入序列。  | 
|
-  | 
应用基于NPU的Sigmoid线性单元(SiLU)函数,按元素方向。SiLU函数也称为swish函数。  | 
|
-  | 
在npu设备上使用FairseqDropout。  | 
|
-  | 
提供NPU版本的GIoU计算接口。  | 
|
-  | 
提供NPU版本的PTIoU计算操作。计算时不会为重叠区域添加极小值。  | 
|
-  | 
提供NPU版本的IoU计算操作。计算时会为重叠区域添加极小值,避免除零问题。  | 
|
使用NPU自定义算子替换原生写法,以提高性能。  | 
||
应用基于NPU的DIoU操作。考虑到目标之间距离,以及距离和范围的重叠率,不同目标或边界需趋于稳定。  | 
||
应用基于NPU的CIoU操作。在DIoU的基础上增加了penalty item,并propose CIoU。  | 
||
在NPU设备上使用FairseqDropout。  | 
||
Multi-headed attention。  | 
||
(beta)torch_npu.contrib.function.npu_single_level_responsible_flags  | 
使用NPU OP在单个特征图中生成锚点的responsible flags。  | 
|
(beta)torch_npu.contrib.function.npu_bbox_coder_encode_xyxy2xywh  | 
应用基于NPU的bbox格式编码操作,将格式从xyxy编码为xywh。  | 
|
(beta)torch_npu.contrib.function.npu_fast_condition_index_put  | 
无原函数,主要功能语句:input1[condition] = value,请查看测试用例。  | 
使用NPU亲和写法替换bool型index_put函数中的原生写法。  | 
使用NPU自定义算子替换原生写法,以提高性能。  | 
||
使用NPU API的多类bbox NMS。  | 
||
使用NPU API的批量多类bbox NMS。  | 
||
使用NPU亲和写法替换swin-transformer中的原生roll。  | 
||
应用基于NPU的Mish操作。  | 
||
按元素应用基于NPU的Sigmoid线性单元(SiLU)函数。SiLU函数也称为Swish函数。  | 
||
应用NPU兼容的通道shuffle操作。为避免NPU上效率不高的连续操作,我们用相同语义重写替换原始操作。以下两个不连续操作已被替换:transpose和chunk。  | 
||
使用NPU API进行LabelSmoothing Cross Entropy。  | 
||
应用基于NPU的Modulated Deformable 2D卷积操作。  | 
||
使用NPU亲和写法替换swin_transformer.py中的原生Drop路径。丢弃每个样本(应用于residual blocks的主路径)的路径(随机深度)。  | 
||
使用NPU亲和写法替换YOLOv5中的原生Focus。  | 
||
使用NPU API进行ROIAlign。  | 
||
使用NPU API进行ROIAlign。  | 
||
随机更改图像的亮度、对比度、饱和度和色调。  | 
||
(beta)torch_npu.contrib.function.npu_bbox_coder_decode_xywh2xyxy  | 
应用基于NPU的bbox格式编码操作,将格式从xywh编码为xyxy。  | 
|
使用NPU OP获取将bbox转换为gt_bbox的框回归转换deltas。  | 
||
(beta)torch_npu.contrib.module.npu_modules.DropoutWithByteMask  | 
-  | 
应用NPU兼容的DropoutWithByteMask操作。  | 
-  | 
应用NPU兼容的dropout_with_byte_mask操作,仅支持npu设备。这个dropout_with_byte_mask方法生成无状态随机uint8掩码,并根据掩码做dropout。  | 
|
-  | 
LinearA8W8Quant是对torch_npu.npu_quant_matmul接口的封装类,完成A8W8量化算子的矩阵乘计算。  | 
|
-  | 
LinearQuant是对torch_npu.npu_quant_matmul接口的封装类,完成A8W8、A4W4量化算子的矩阵乘计算。  | 
|
- -  | 
LinearWeightQuant是对torch_npu.npu_weight_quant_batchmatmul接口的封装类,完成矩阵乘计算中的weight输入和输出的量化操作,支持pertensor、perchannel、pergroup多场景量化。  |