快捷方式

算子

torchvision.ops 实现专门用于计算机视觉的算子、损失函数和层。

注意

所有算子都原生支持 TorchScript。

检测和分割算子

以下算子执行目标检测和分割模型所需的预处理和后处理。

batched_nms(boxes, scores, idxs, iou_threshold)

以批处理方式执行非最大抑制。

masks_to_boxes(masks)

计算给定掩码的边界框。

nms(boxes, scores, iou_threshold)

根据交并比 (IoU) 对框执行非最大抑制 (NMS)。

roi_align(input, boxes, output_size[, ...])

执行感兴趣区域 (RoI) 对齐算子,使用平均池化,如 Mask R-CNN 中所述。

roi_pool(input, boxes, output_size[, ...])

执行 Fast R-CNN 中所述的感兴趣区域 (RoI) 池化算子。

ps_roi_align(input, boxes, output_size[, ...])

执行 Light-Head R-CNN 中提到的位置敏感感兴趣区域 (RoI) 对齐算子。

ps_roi_pool(input, boxes, output_size[, ...])

执行 R-FCN 中所述的位置敏感感兴趣区域 (RoI) 池化算子。

FeaturePyramidNetwork(in_channels_list, ...)

在一组特征图之上添加 FPN 的模块。

MultiScaleRoIAlign(featmap_names, ...[, ...])

多尺度 RoIAlign 池化,这对于带或不带 FPN 的检测很有用。

RoIAlign(output_size, spatial_scale, ...[, ...])

参见 roi_align()

RoIPool(output_size, spatial_scale)

参见 roi_pool()

PSRoIAlign(output_size, spatial_scale, ...)

参见 ps_roi_align()

PSRoIPool(output_size, spatial_scale)

参见 ps_roi_pool()

边界框算子

这些实用函数对边界框执行各种操作。

box_area(boxes[, fmt])

计算给定格式的边界框集合的面积。

box_convert(boxes, in_fmt, out_fmt)

将给定 in_fmt 格式的 torch.Tensor 边界框转换为 out_fmt 格式。

box_iou(boxes1, boxes2[, fmt])

返回给定格式的两个边界框集合之间的交并比 (Jaccard 指数)。

clip_boxes_to_image(boxes, size)

剪切边界框,使其位于大小为 size 的图像内。

complete_box_iou(boxes1, boxes2[, eps])

返回两个边界框集合之间的完整交并比 (Jaccard 指数)。

distance_box_iou(boxes1, boxes2[, eps])

返回两个边界框集合之间的距离交并比 (Jaccard 指数)。

generalized_box_iou(boxes1, boxes2)

返回两个边界框集合之间的广义交并比 (Jaccard 指数)。

remove_small_boxes(boxes, min_size)

boxes 中移除所有至少有一侧长度小于 min_size 的边界框。

损失函数

实现了以下计算机视觉特定损失函数。

complete_box_iou_loss(boxes1, boxes2[, ...])

梯度友好的 IoU 损失,在边界框不重叠时具有非零的附加惩罚。

distance_box_iou_loss(boxes1, boxes2[, ...])

梯度友好的 IoU 损失,在边界框中心距离不为零时具有非零的附加惩罚。

generalized_box_iou_loss(boxes1, boxes2[, ...])

梯度友好的 IoU 损失,在边界框不重叠时具有非零的附加惩罚,并且该惩罚随其最小包围框的大小而缩放。

sigmoid_focal_loss(inputs, targets[, alpha, ...])

RetinaNet 中用于密集检测的损失函数:https://arxiv.org/abs/1708.02002

TorchVision 提供常用的构建块作为层。

Conv2dNormActivation(in_channels, ...)

用于 Convolution2d-Normalization-Activation 块的可配置模块。

Conv3dNormActivation(in_channels, ...)

用于 Convolution3d-Normalization-Activation 块的可配置模块。

DeformConv2d(in_channels, out_channels, ...)

参见 deform_conv2d()

DropBlock2d(p, block_size[, inplace, eps])

参见 drop_block2d()

DropBlock3d(p, block_size[, inplace, eps])

参见 drop_block3d()

FrozenBatchNorm2d(num_features[, eps])

BatchNorm2d,其中批量统计量和仿射参数是固定的。

MLP(in_channels, hidden_channels, ...)

此模块实现多层感知机 (MLP) 模块。

Permute(dims)

此模块返回一个具有置换维度的张量输入的视图。

SqueezeExcitation(input_channels, ...)

此模块实现来自 https://arxiv.org/abs/1709.01507 的 Squeeze-and-Excitation 块(参见图。

StochasticDepth(p, mode)

参见 stochastic_depth()

deform_conv2d(input, offset, weight[, bias, ...])

执行可变形卷积 v2,如 Deformable ConvNets v2: More Deformable, Better Results 中所述(如果 mask 不为 None),以及执行可变形卷积,如 Deformable Convolutional Networks 中所述(如果 maskNone)。

drop_block2d(input, p, block_size[, ...])

实现来自 "DropBlock: A regularization method for convolutional networks" <https://arxiv.org/abs/1810.12890> 的 DropBlock2d。

drop_block3d(input, p, block_size[, ...])

实现来自 "DropBlock: A regularization method for convolutional networks" <https://arxiv.org/abs/1810.12890> 的 DropBlock3d。

stochastic_depth(input, p, mode[, training])

实现来自 "Deep Networks with Stochastic Depth" 的随机深度,用于随机丢弃残差架构的残差分支。

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源