| --- |
| license: cc-by-nc-sa-4.0 |
| language: |
| - en |
| pipeline_tag: image-feature-extraction |
| tags: |
| - pathology |
| - foundation_model |
| - vit |
| --- |
| |
| # SP22M |
|
|
| ViT-small (22M parameters) trained on 423,000 H&E slides from the Mount Sinai Health System. |
| |
|
|
| ## Model Usage |
|
|
| To get started, first clone the repository with this command: |
| ```bash |
| git clone --no-checkout https://huggingface.co/MountSinaiCompPath/SP22M && cd SP22M && git sparse-checkout init --no-cone && git sparse-checkout set '/*' '!*.bin' && git checkout |
| ``` |
|
|
| Now you can use the following code: |
| ```python |
| from PIL import Image |
| import numpy as np |
| import vision_transformer |
| import torch |
| import torch.nn as nn |
| import torchvision.transforms as transforms |
| from huggingface_hub import PyTorchModelHubMixin |
| |
| class SP22M(nn.Module, PyTorchModelHubMixin): |
| def __init__(self): |
| super().__init__() |
| self.encoder = vision_transformer.vit_small(num_classes=0) |
| |
| def forward(self, x): |
| return self.encoder(x) |
| |
| # Download up model |
| model = SP22M.from_pretrained("MountSinaiCompPath/SP22M") |
| |
| # Set up transform |
| transform = transforms.Compose([ |
| transforms.ToTensor(), |
| transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)) |
| ]) |
| |
| # Image |
| img = np.random.randint(0, 256, size=224*224*3).reshape(224,224,3).astype(np.uint8) |
| img = Image.fromarray(img) |
| img = transform(img).unsqueeze(0) |
| |
| # Inference |
| with torch.no_grad(): |
| h = model(img) |
| ``` |