A TResNet image classificatio model. Traied o ImageNet-21K-P ("ImageNet-21K Pretraiig for the Masses", a 11k subset of ImageNet-22k) by paper authors. The weights for this model have bee remapped ad modified from the origials to work with stadard BatchNorm istead of IplaceABN. Model card for tresetm.miili21k
iplace_ab
ca be problematic to build recetly ad eds up slower with memory_format=chaels_last
, torch.compile(), etc.Model Details
Model Usage
Image Classificatio
from urllib.request import urlope
from PIL import Image
import timm
img = Image.ope(urlope(
'https://huggigface.co/datasets/huggigface/documetatio-images/resolve/mai/beigets-task-guide.pg'
))
model = timm.create_model('treset_m.miil_i21k', pretraied=True)
model = model.eval()
# get model specific trasforms (ormalizatio, resize)
data_cofig = timm.data.resolve_model_data_cofig(model)
trasforms = timm.data.create_trasform(**data_cofig, is_traiig=False)
output = model(trasforms(img).usqueeze(0)) # usqueeze sigle image ito batch of 1
top5_probabilities, top5_class_idices = torch.topk(output.softmax(dim=1) * 100, k=5)
Feature Map Extractio
from urllib.request import urlope
from PIL import Image
import timm
img = Image.ope(urlope(
'https://huggigface.co/datasets/huggigface/documetatio-images/resolve/mai/beigets-task-guide.pg'
))
model = timm.create_model(
'treset_m.miil_i21k',
pretraied=True,
features_oly=True,
)
model = model.eval()
# get model specific trasforms (ormalizatio, resize)
data_cofig = timm.data.resolve_model_data_cofig(model)
trasforms = timm.data.create_trasform(**data_cofig, is_traiig=False)
output = model(trasforms(img).usqueeze(0)) # usqueeze sigle image ito batch of 1
for o i output:
# prit shape of each feature map i output
# e.g.:
# torch.Size([1, 64, 56, 56])
# torch.Size([1, 128, 28, 28])
# torch.Size([1, 1024, 14, 14])
# torch.Size([1, 2048, 7, 7])
prit(o.shape)
Image Embeddigs
from urllib.request import urlope
from PIL import Image
import timm
img = Image.ope(urlope(
'https://huggigface.co/datasets/huggigface/documetatio-images/resolve/mai/beigets-task-guide.pg'
))
model = timm.create_model(
'treset_m.miil_i21k',
pretraied=True,
um_classes=0, # remove classifier .Liear
)
model = model.eval()
# get model specific trasforms (ormalizatio, resize)
data_cofig = timm.data.resolve_model_data_cofig(model)
trasforms = timm.data.create_trasform(**data_cofig, is_traiig=False)
output = model(trasforms(img).usqueeze(0)) # output is (batch_size, um_features) shaped tesor
# or equivaletly (without eedig to set um_classes=0)
output = model.forward_features(trasforms(img).usqueeze(0))
# output is upooled, a (1, 2048, 7, 7) shaped tesor
output = model.forward_head(output, pre_logits=True)
# output is a (1, um_features) shaped tesor
Citatio
@misc{ridik2020treset,
title={TResNet: High Performace GPU-Dedicated Architecture},
author={Tal Ridik ad Hussam Lawe ad Asaf Noy ad Itamar Friedma},
year={2020},
eprit={2003.13630},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
@misc{ridik2021imageet21k,
title={ImageNet-21K Pretraiig for the Masses},
author={Tal Ridik ad Emauel Be-Baruch ad Asaf Noy ad Lihi Zelik-Maor},
year={2021},
eprit={2104.10972},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
点击空白处退出提示
评论