VOOZH about

URL: https://huggingface.co/timm/caformer_b36.sail_in22k_ft_in1k_384

⇱ timm/caformer_b36.sail_in22k_ft_in1k_384 · Hugging Face


Model card for caformer_b36.sail_in22k_ft_in1k_384

A CAFormer (a MetaFormer) image classification model. Pretrained on ImageNet-22k and fine-tuned on ImageNet-1k by paper authors.

Model Details

Model Usage

Image Classification

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('caformer_b36.sail_in22k_ft_in1k_384', 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)

Feature Map Extraction

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(
 'caformer_b36.sail_in22k_ft_in1k_384',
 pretrained=True,
 features_only=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

for o in output:
 # print shape of each feature map in output
 # e.g.:
 # torch.Size([1, 128, 96, 96])
 # torch.Size([1, 256, 48, 48])
 # torch.Size([1, 512, 24, 24])
 # torch.Size([1, 768, 12, 12])

 print(o.shape)

Image Embeddings

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(
 'caformer_b36.sail_in22k_ft_in1k_384',
 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, 768, 12, 12) shaped tensor

output = model.forward_head(output, pre_logits=True)
# output is a (1, num_features) shaped tensor

Model Comparison

Explore the dataset and runtime metrics of this model in timm model results.

Citation

@article{yu2022metaformer_baselines,
 title={Metaformer baselines for vision},
 author={Yu, Weihao and Si, Chenyang and Zhou, Pan and Luo, Mi and Zhou, Yichen and Feng, Jiashi and Yan, Shuicheng and Wang, Xinchao},
 journal={arXiv preprint arXiv:2210.13452},
 year={2022}
}
Downloads last month
2,814

Model tree for timm/caformer_b36.sail_in22k_ft_in1k_384

Quantizations
3 models

Dataset used to train timm/caformer_b36.sail_in22k_ft_in1k_384

Collection including timm/caformer_b36.sail_in22k_ft_in1k_384

Paper for timm/caformer_b36.sail_in22k_ft_in1k_384