ILSVRC/imagenet-1k
Viewer • Updated • 1.43M • 80.4k • 831
How to use timm/mvitv2_base_cls.fb_inw21k with timm:
import timm
model = timm.create_model("hf_hub:timm/mvitv2_base_cls.fb_inw21k", pretrained=True)How to use timm/mvitv2_base_cls.fb_inw21k with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("image-classification", model="timm/mvitv2_base_cls.fb_inw21k")
pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png") # Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("timm/mvitv2_base_cls.fb_inw21k", dtype="auto")A MViT-v2 (multi-scale ViT) image classification model. Pretrained on ImageNet-22k (Winter21 variant) and fine-tuned on ImageNet-1k by paper authors. The classifier layout for this model was not shared and does not match expected lexicographical sorted synset order.
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model('mvitv2_base_cls.fb_inw21k', pretrained=True)
model = model.eval()
# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
output = model(transforms(img).unsqueeze(0)) # unsqueeze single image into batch of 1
top5_probabilities, top5_class_indices = torch.topk(output.softmax(dim=1) * 100, k=5)
from urllib.request import urlopen
from PIL import Image
import timm
img = Image.open(urlopen(
'https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/beignets-task-guide.png'
))
model = timm.create_model(
'mvitv2_base_cls.fb_inw21k',
pretrained=True,
num_classes=0, # remove classifier nn.Linear
)
model = model.eval()
# get model specific transforms (normalization, resize)
data_config = timm.data.resolve_model_data_config(model)
transforms = timm.data.create_transform(**data_config, is_training=False)
output = model(transforms(img).unsqueeze(0)) # output is (batch_size, num_features) shaped tensor
# or equivalently (without needing to set num_classes=0)
output = model.forward_features(transforms(img).unsqueeze(0))
# output is unpooled, a (1, 50, 768) shaped tensor
output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor