模型概述
模型特點
模型能力
使用案例
🚀 Prov - GigaPath
Prov - GigaPath是一個用於數字病理學的全切片基礎模型,它基於真實世界的數據構建,為數字病理學的研究提供了有力支持。
🚀 快速開始
安裝
在啟用了CUDA工具包的NVIDIA A100 Tensor Core GPU機器上進行以下操作:
- 下載我們的代碼倉庫並進入Prov - GigaPath目錄
git clone https://github.com/prov-gigapath/prov-gigapath
cd prov-gigapath
- 安裝GigaPath及其依賴項
conda env create -f environment.yaml
conda activate gigapath
pip install -e .
模型下載
可以從HuggingFace Hub訪問Prov - GigaPath模型。 你需要同意相關條款才能訪問這些模型。獲得必要的訪問權限後,將你的HuggingFace只讀令牌設置為環境變量:
export HF_TOKEN=<huggingface read-only token>
如果你未設置令牌,可能會遇到以下錯誤:
ValueError: We have no connection or you passed local_files_only, so force_download is not an accepted option.
✨ 主要特性
- 基於真實世界數據構建,為數字病理學提供全切片基礎模型。
- 可用於圖像特徵提取,在數字病理學研究中有廣泛應用。
📦 安裝指南
在啟用了CUDA工具包的NVIDIA A100 Tensor Core GPU機器上:
- 下載倉庫:
git clone https://github.com/prov-gigapath/prov-gigapath
cd prov-gigapath
- 安裝依賴:
conda env create -f environment.yaml
conda activate gigapath
pip install -e .
💻 使用示例
基礎用法
推理 - 切片編碼器
首先,加載GigaPath切片編碼器:
import timm
from PIL import Image
from torchvision import transforms
import torch
tile_encoder = timm.create_model("hf_hub:prov-gigapath/prov-gigapath", pretrained=True)
transform = transforms.Compose(
[
transforms.Resize(256, interpolation=transforms.InterpolationMode.BICUBIC),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
]
)
運行推理以提取切片級特徵:
img_path = "images/prov_normal_000_1.png"
sample_input = transform(Image.open(img_path).convert("RGB")).unsqueeze(0)
tile_encoder.eval()
with torch.no_grad():
output = tile_encoder(sample_input).squeeze()
推理 - 幻燈片編碼器
要使用幻燈片編碼器進行推理,我們需要切片嵌入及其座標作為輸入。首先,加載GigaPath幻燈片編碼器:
import gigapath
slide_encoder = gigapath.slide_encoder.create_model("hf_hub:prov-gigapath/prov-gigapath", "gigapath_slide_enc12l768d", 1536)
運行推理以獲取幻燈片級嵌入:
slide_encoder.eval()
with torch.no_grad():
output = slide_encoder(tile_embed, coordinates).squeeze()
高級用法
微調 - 使用PCam數據集進行切片級線性探測示例
為方便起見,我們提供了PCam數據集的預提取嵌入。你可以從以下鏈接下載,注意文件大小為2GB。
wget -nc https://hanoverprod.z21.web.core.windows.net/gigapath/GigaPath_PCam_embeddings.zip -P data/
無需解壓此文件。 要運行微調實驗,請執行以下腳本:
bash scripts/run_pcam.sh data/GigaPath_PCam_embeddings.zip
微調 - 使用PANDA數據集進行幻燈片級微調示例
為方便起見,我們提供了PANDA數據集的預提取嵌入。你可以從以下鏈接下載,注意文件大小為32GB,請解壓此文件。
wget -nc https://hanoverprod.z21.web.core.windows.net/gigapath/GigaPath_PANDA_embeddings.zip -P data/
unzip -n data/GigaPath_PANDA_embeddings.zip -d data/
要運行微調實驗,請執行以下腳本:
bash scripts/run_panda.sh data/GigaPath_PANDA_embeddings/h5_files
📚 詳細文檔
模型概述
Prov - GigaPath模型架構概述
模型用途
預期用途
數據、代碼和模型檢查點僅用於(I)未來病理學基礎模型的研究和(II)參考論文中實驗結果的重現。數據、代碼和模型檢查點不用於臨床護理或任何臨床決策目的。
主要預期用途
主要預期用途是支持AI研究人員重現和擴展這項工作。GigaPath有助於探索數字病理切片數據的預訓練和編碼。
超出範圍的用途
模型的任何部署用例(商業或其他)都超出了範圍。儘管我們使用了廣泛的公開研究基準對模型進行了評估,但模型和評估僅用於研究目的,不用於部署用例。
使用和許可聲明
該模型並非作為醫療設備、臨床支持、診斷工具或其他用於疾病診斷、治療、緩解、治療或預防的技術提供臨床使用。該模型並非設計或旨在替代專業醫療建議、診斷、治療或判斷,不應如此使用。所有用戶有責任審查開發模型的輸出,以確定模型是否滿足用戶需求,並在任何臨床使用前驗證和評估模型。
📄 許可證
致謝
我們感謝構建此項目所依賴的優秀倉庫的作者和開發者:DINOv2、MAE、Timm和TorchScale。他們的貢獻對我們的工作非常寶貴。
引用
如果您發現Prov - GigaPath對您的研究和應用有用,請使用以下BibTeX進行引用:
@article{xu2024gigapath,
title={A whole-slide foundation model for digital pathology from real-world data},
author={Xu, Hanwen and Usuyama, Naoto and Bagga, Jaspreet and Zhang, Sheng and Rao, Rajesh and Naumann, Tristan and Wong, Cliff and Gero, Zelalem and González, Javier and Gu, Yu and Xu, Yanbo and Wei, Mu and Wang, Wenhui and Ma, Shuming and Wei, Furu and Yang, Jianwei and Li, Chunyuan and Gao, Jianfeng and Rosemon, Jaylen and Bower, Tucker and Lee, Soohee and Weerasinghe, Roshanthi and Wright, Bill J. and Robicsek, Ari and Piening, Brian and Bifulco, Carlo and Wang, Sheng and Poon, Hoifung},
journal={Nature},
year={2024},
publisher={Nature Publishing Group UK London}
}
樣本數據下載
可以從以下鏈接訪問Prov - Path數據的樣本去標識子集 [1, 2]。
項目鏈接
作者信息
Hanwen Xu*, Naoto Usuyama*, Jaspreet Bagga, Sheng Zhang, Rajesh Rao, Tristan Naumann, Cliff Wong, Zelalem Gero, Javier González, Yu Gu, Yanbo Xu, Mu Wei, Wenhui Wang, Shuming Ma, Furu Wei, Jianwei Yang, Chunyuan Li, Jianfeng Gao, Jaylen Rosemon, Tucker Bower, Soohee Lee, Roshanthi Weerasinghe, Bill J. Wright, Ari Robicsek, Brian Piening, Carlo Bifulco, Sheng Wang, Hoifung Poon (*同等貢獻)









