|
---
|
|
license: cc-by-nc-sa-4.0
|
|
language:
|
|
- en
|
|
pipeline_tag: image-feature-extraction
|
|
tags:
|
|
- pathology
|
|
- foundation_model
|
|
- vit
|
|
---
|
|
|
|
# SP85M
|
|
|
|
ViT-base (85M 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/SP85M && cd SP85M && 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 SP85M(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 = SP85M.from_pretrained("MountSinaiCompPath/SP85M")
|
|
|
|
# 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)
|
|
``` |