Semi-Supervised Pretrained Backbone
SkillMediaUses Facebook's semi-weakly supervised ImageNet-pretrained models (trained on 940M unlabeled images) as CNN backbones for stronger transfer learning than standard supervised pretraining.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Semi-Supervised Pretrained Backbone skill
What this skill tells your AI
The instructions your AI receives, as published by wenmin-wu/ds-skills in skills/cv/semi-supervised-pretrained-backbone/SKILL.md and read by ahel’s review.
Overview
Facebook's semi-supervised and semi-weakly supervised ImageNet models were trained on up to 940M unlabeled images from YFCC100M, producing significantly better representations than standard supervised pretraining. Using these as backbones (ResNet-50, ResNeXt-50) provides 1-3% accuracy improvements on downstream tasks, especially on medical imaging and domain-shifted data where standard ImageNet features are weak. Available via torch.hub with no extra dependencies.
Quick Start
import torch
import torch.nn as nn
# Load semi-weakly supervised ResNeXt-50
backbone = torch.hub.load(
'facebookresearch/semi-supervised-ImageNet1K-models',
'resnext50_32x4d_swsl' # swsl = semi-weakly supervised
)
class CustomModel(nn.Module):
def __init__(self, n_classes=6):
super().__init__()
self.encoder = nn.Sequential(*list(backbone.children())[:-2])
nc = list(backbone.children())[-1].in_features # 2048
self.head = nn.Sequential(
nn.AdaptiveAvgPool2d(1), nn.Flatten(),
nn.Linear(nc, 512), nn.ReLU(),
nn.Dropout(0.5), nn.Linear(512, n_classes))
def forward(self, x):
return self.head(self.encoder(x))
model = CustomModel(n_classes=6)
Workflow
- Load pretrained model via
torch.hub.load - Strip the final classification layer
- Add custom pooling + classification head
- Fine-tune end-to-end on target dataset
Key Decisions
- Model variants:
resnext50_32x4d_ssl(semi-supervised),resnext50_32x4d_swsl(semi-weakly supervised — stronger) - vs supervised: SWSL models consistently outperform supervised on transfer tasks
- vs DINO/MAE: SWSL is older but simpler to use; no special fine-tuning needed
- Available architectures: ResNet-18/50, ResNeXt-50/101 in both SSL and SWSL variants
References
Signals
- GitHub stars
- 60
- Forks
- 4
- Last commit
- Apr 2026
Advanced
- Catalog kind
- skill
- Gateway key
cv-semi-supervised-pretrained-backbone- Source
- github.com/wenmin-wu/ds-skills