--- tags: - image-classification - feature-extraction - timm - biology - cancer - histology - TIA - tiatoolbox library_name: timm pipeline_tag: image-classification license: cc0-1.0 datasets: - 1aurent/PatchCamelyon --- # Model card for resnext101_32x8d.tiatoolbox-pcam A ResNeXt-D image classification model. \ Trained by [Tissue Image Analytics (TIA) Centre](https://warwick.ac.uk/fac/cross_fac/tia/) on "pcam" histology patches. ![](https://raw.githubusercontent.com/TissueImageAnalytics/tiatoolbox/develop/docs/tiatoolbox-logo.png) ## Model Details - **Model Type:** Image classification / Feature backbone - **Model Stats:** - Params (M): 86.9 - Image size: 96 x 96 x 3 - **Dataset**: [Patch Camelyon (PCam)](https://github.com/basveeling/pcam/) - **Original:** https://github.com/TissueImageAnalytics/tiatoolbox - **License**: [Creative Commons Zero v1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/legalcode) ## Model Usage ### Image Classification ```python from urllib.request import urlopen from PIL import Image import timm # get example histology image img = Image.open( urlopen( "https://github.com/owkin/HistoSSLscaling/raw/main/assets/example.tif" ) ) # load model from the hub model = timm.create_model( model_name="hf-hub:1aurent/resnext101_32x8d.tiatoolbox-pcam", pretrained=True, ).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) data = transforms(img).unsqueeze(0) # input is a (batch_size, num_channels, img_size, img_size) shaped tensor output = model(data) # output is a (batch_size, num_features) shaped tensor ``` ### Image Embeddings ```python from urllib.request import urlopen from PIL import Image import timm # get example histology image img = Image.open( urlopen( "https://github.com/owkin/HistoSSLscaling/raw/main/assets/example.tif" ) ) # load model from the hub model = timm.create_model( model_name="hf-hub:1aurent/resnext101_32x8d.tiatoolbox-pcam", pretrained=True, num_classes=0, ).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) data = transforms(img).unsqueeze(0) # input is a (batch_size, num_channels, img_size, img_size) shaped tensor output = model(data) # output is a (batch_size, num_features) shaped tensor ``` ## Citation ```bibtex @article{Pocock2022, author = {Pocock, Johnathan and Graham, Simon and Vu, Quoc Dang and Jahanifar, Mostafa and Deshpande, Srijay and Hadjigeorghiou, Giorgos and Shephard, Adam and Bashir, Raja Muhammad Saad and Bilal, Mohsin and Lu, Wenqi and Epstein, David and Minhas, Fayyaz and Rajpoot, Nasir M and Raza, Shan E Ahmed}, doi = {10.1038/s43856-022-00186-5}, issn = {2730-664X}, journal = {Communications Medicine}, month = {sep}, number = {1}, pages = {120}, publisher = {Springer US}, title = {{TIAToolbox as an end-to-end library for advanced tissue image analytics}}, url = {https://www.nature.com/articles/s43856-022-00186-5}, volume = {2}, year = {2022} } ```