【亲测免费】 开源项目教程: Prov-GigaPath 数字病理全切片基础模型
2026-01-23 04:37:01作者:田桥桑Industrious
1. 项目介绍
Prov-GigaPath 是一个源自真实世界数据的数字病理全切片基础模型。由Hanwen Xu等人共同贡献,并在Nature上发表论文,它旨在为数字病理学领域提供强大的预训练模型。该模型包括局部瓷砖编码器和滑片级编码器,支持从瓷砖级到滑片级的任务,推动了在大规模病理图像分析中的应用研究。
2. 项目快速启动
要开始使用 Prov-GigaPath,您需要一个配置良好的开发环境,特别是配备NVIDIA A100 GPU的机器。以下是简化的安装流程:
环境准备
首先,克隆仓库到本地:
git clone https://github.com/prov-gigapath/prov-gigapath
cd prov-gigapath
然后,创建并激活Conda环境:
conda env create -f environment.yaml
conda activate gigapath
安装项目依赖和模型本身:
pip install -e .
下载模型
确保您已经获取Hugging Face的只读令牌,并设置为环境变量HF_TOKEN,之后可以下载模型:
export HF_TOKEN=<您的HuggingFace读取令牌>
运行示例
以下代码展示如何进行瓷砖级别的特征提取:
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 = "path/to/your/image.png"
sample_input = transform(Image.open(img_path).convert("RGB")).unsqueeze(0)
with torch.no_grad():
output = tile_encoder(sample_input).squeeze()
3. 应用案例与最佳实践
- 嵌入可视化: 利用提供的notebook探索模型生成的瓷砖嵌入如何可视化,帮助理解模型学习到的表征。
- WSI预处理及分块: 参考官方发布的WSI文件预处理指南,了解如何为模型准备实际的病理切片数据。
- 微调示例: 使用PCam或PANDA数据集对模型进行微调,具体步骤可通过运行相应脚本(
run_pcam.sh,run_panda.sh)实现,这些脚本下载预先提取的嵌入并指导完成实验配置。
4. 典型生态项目
尽管 Prov-GigaPath 作为一个独立的项目,其典型的“生态”聚焦于数字病理学的研究和应用拓展。研究者和开发者可以将此模型集成至病理诊断辅助系统中,但需明确的是,本模型不适用于直接的临床决策,而是作为研究工具,促进疾病识别算法的发展。社区成员通过贡献案例研究、新数据集的适配或是模型性能优化,不断丰富着这个生态。
通过结合学术界与工业界的资源, Prov-GigaPath 不仅为研究人员提供了强大的工具,也为探索深度学习在医疗影像分析中的潜力开辟了新的道路。
请注意,以上操作需遵循项目许可协议,并且在涉及医疗数据和模型使用时,应严格遵守隐私保护与法规要求。
登录后查看全文
热门项目推荐
相关项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0131
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00
最新内容推荐
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
496
3.64 K
Ascend Extension for PyTorch
Python
300
339
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
307
131
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
868
480
暂无简介
Dart
744
180
React Native鸿蒙化仓库
JavaScript
297
346
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
66
20
仓颉编译器源码及 cjdb 调试工具。
C++
150
882