运算符¶
torchvision.ops 实现了专门用于计算机视觉的运算符、损失函数和层。
注意
所有运算符都原生支持TorchScript。
检测和分割操作符¶
以下操作符执行对象检测和分割模型中所需的预处理和后处理。
|
以批处理方式执行非最大抑制。 |
|
计算提供的掩码周围的边界框。 |
|
根据它们的交并比(IoU)对框执行非极大值抑制(NMS)。 |
|
执行带有平均池化的感兴趣区域(RoI)对齐操作符,如Mask R-CNN中所述。 |
|
执行在Fast R-CNN中描述的感兴趣区域(RoI)池化操作 |
|
执行Light-Head R-CNN中提到的位置敏感感兴趣区域(RoI)对齐操作。 |
|
执行R-FCN中描述的位置敏感感兴趣区域(RoI)池化操作 |
|
模块,用于在一组特征图之上添加FPN。 |
|
多尺度RoIAlign池化,这对于使用或不使用FPN的检测非常有用。 |
|
参见 |
|
参见 |
|
参见 |
|
参见 |
盒子操作符¶
这些实用函数对边界框执行各种操作。
|
计算一组边界框的面积,这些边界框由其 (x1, y1, x2, y2) 坐标指定。 |
|
将 |
|
返回两组框之间的交并比(Jaccard指数)。 |
|
裁剪框,使其位于大小为 |
|
返回两组框之间的完整交并比(Jaccard指数)。 |
|
返回两组框之间的距离交并比(Jaccard指数)。 |
|
返回两组框之间的广义交并比(Jaccard指数)。 |
|
从 |
损失¶
以下视觉特定的损失函数已实现:
|
梯度友好的IoU损失,当框不重叠时,附加的惩罚不为零。 |
|
梯度友好的IoU损失,当框中心之间的距离不为零时,会有额外的惩罚。 |
|
梯度友好的IoU损失,当框不重叠时,附加的惩罚不为零,并且随着它们最小包围框的大小而缩放。 |
|
RetinaNet中用于密集检测的损失函数:https://arxiv.org/abs/1708.02002。 |
层¶
TorchVision 提供了常用的构建块作为层:
|
用于Convolution2d-Normalization-Activation块的可配置块。 |
|
用于Convolution3d-Normalization-Activation块的可配置块。 |
|
参见 |
|
参见 |
|
参见 |
|
BatchNorm2d,其中批次统计数据和仿射参数是固定的 |
|
该模块实现了多层感知器(MLP)模块。 |
|
该模块返回一个张量输入的视图,其维度被重新排列。 |
|
该模块实现了来自https://arxiv.org/abs/1709.01507的Squeeze-and-Excitation模块(见图。 |
|
|
执行可变形卷积v2,描述在Deformable ConvNets v2: More Deformable, Better Results中,如果 |
|
实现来自"DropBlock: A regularization method for convolutional networks" |
|
实现来自"DropBlock: 卷积网络的正则化方法" |
|
实现了来自"Deep Networks with Stochastic Depth"的随机深度,用于随机丢弃残差架构的残差分支。 |