ResNeSt
19 memberslucid.models.vision.resnestResNeSt family — Zhang et al., 2020.
Zhang, Hang, et al. "ResNeSt: Split-Attention Networks." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops, 2022, pp. 2736–2746.
ResNeSt fuses three previously separate ideas — ResNeXt's cardinality, SKNet's soft kernel selection, and SENet's channel-wise attention — into a single unified Split-Attention block that can replace the central convolution of any ResNet bottleneck.
The block first splits the input into groups (cardinality), and inside each group it further splits the feature map into parallel branches called radixes. Each radix runs a different transformation and produces a -channel feature map . The branch outputs are summed to form a single combined response , which is then pooled and passed through a small bottleneck network to emit per-radix, per-channel attention weights:
The block's output is the radix-weighted sum
applied independently inside every cardinal group and then concatenated. When the block reduces to ResNeXt; when it generalises SKNet to arbitrary radix counts with a softmax (rather than two-way sigmoid) gate.
Two further refinements complete the architecture. A
deep stem replaces the original ResNet
stem with three convolutions, and an
average-pool downsampling path (controlled by the
avg_down and avd fields) replaces strided
convolutions in residual shortcuts and inside the Split-Attention
block itself. With these changes ResNeSt-50 outperforms a
plain ResNet-50 by roughly 3 ImageNet top-1 percentage points
at the same parameter count, and serves as a strong backbone
for downstream detection / segmentation tasks.
Classes
Functions
resnest_14→ ResNeStResNeSt-14 feature-extracting backbone (no classification head).
resnest_14_cls→ ResNeStForImageClassificationResNeSt-14 image classifier (backbone + GAP + linear head).
resnest_26→ ResNeStResNeSt-26 feature-extracting backbone (no classification head).
resnest_26_cls→ ResNeStForImageClassificationResNeSt-26 image classifier (backbone + GAP + linear head).
resnest_50→ ResNeStResNeSt-50 feature-extracting backbone (no classification head).
resnest_50_cls→ ResNeStForImageClassificationResNeSt-50 image classifier (backbone + GAP + linear head).
resnest_101→ ResNeStResNeSt-101 feature-extracting backbone (no classification head).
resnest_101_cls→ ResNeStForImageClassificationResNeSt-101 image classifier (backbone + GAP + linear head).
resnest_200→ ResNeStResNeSt-200 feature-extracting backbone (no classification head).
resnest_200_cls→ ResNeStForImageClassificationResNeSt-200 image classifier (backbone + GAP + linear head).
resnest_269→ ResNeStResNeSt-269 feature-extracting backbone (no classification head).
resnest_269_cls→ ResNeStForImageClassificationResNeSt-269 image classifier (backbone + GAP + linear head).