捷徑

運算子

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)

計算一組邊界框的面積,這些邊界框由其 (x1, y1, x2, y2) 座標指定。

box_convert(boxes, in_fmt, out_fmt)

torch.Tensor 框從給定的 in_fmt 轉換為 out_fmt

box_iou(boxes1, boxes2)

傳回兩組框之間的交集覆蓋率(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, ...])

執行 Deformable Convolution v2,描述於 Deformable ConvNets v2: More Deformable, Better Results,如果 mask 不是 None;若 maskNone,則執行 Deformable Convolution,描述於 Deformable Convolutional Networks

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" 的 Stochastic Depth,用於隨機捨棄殘差架構的殘差分支。

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學課程

取得為初學者和進階開發者提供的深入教學課程

檢視教學課程

資源

尋找開發資源並獲得您的問題解答

檢視資源