fuse-med-ml
IBM推出的医学AI模块化框架,提供即插即用的数据处理、深度学习和评估组件
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
IBM推出的医学AI模块化框架,提供即插即用的数据处理、深度学习和评估组件
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
作者:IBM Research Israel - ML for Healthcare and Life Sciences | 许可:Apache-2.0 | 最新版本:0.4.1(2026-02)
想象一下,一位医学影像研究员想用深度学习做肺部CT的COVID-19严重程度预测。他需要:数据加载管道、图像预处理、多种网络架构(ResNet、EfficientNet、Vision Transformer)、训练循环、分布式支持、评估指标、可视化对比实验结果……而每次开新课题,这些组件大多要从零写起。
FuseMedML(Fully Unified Statistical Engine for Medical Machine Learning)正是为解决这个痛点而生——它是IBM Research以色列实验室推出的模块化ML框架,旨在为医学AI研究提供「乐高式」的代码复用基础设施,让研究者把精力集中在模型设计和医学问题本身,而不是基础设施。
FuseMedML由IBM Research以色列ML for Healthcare and Life Sciences团队开发和维护,该团队长期专注于将机器学习应用于医学影像、多模态电子病历分析等场景。项目最初于2020年前后启动,目前在GitHub上拥有159颗星,汇集了多个国际医学AI挑战赛(STOIC21、KNIGHT Challenge、ISIC皮肤病变、MICCAI等)的实战代码。
项目采用Apache-2.0开源许可,代码质量标准较高(使用ruff进行代码风格检查,包含完整的类型标注py.typed),反映出IBM作为企业级项目对待此开源作品的严谨态度。
FuseMedML采用清晰的三层架构设计:
fuse(核心框架):提供与具体深度学习框架无关的基础组件,包括:
fuse.data:数据流水线框架,核心是Pipeline机制——将数据处理步骤(Op)串联成链,支持多进程并行。内置丰富的Ops操作(如图像裁剪、归一化、3D仿射变换),以及数据采样器、Dataset封装等。data模块完全不依赖PyTorch,可以独立使用。
fuse.dl:深度学习组件,基于PyTorch Lightning封装。包含可复用的模型架构组件(ResNet、Transformer等)、Loss函数、Optimizer配置、分布式训练支持(支持FSDP)。
fuse.eval:模型评估模块,支持多种医学AI常用指标,不依赖特定DL库。
fuse.utils:工具函数包。
fuseimg(医学影像扩展包):面向医学影像领域,专门处理CT/MRI/X光等医疗图像,依赖nibabel处理DICOM/NIfTI格式,提供医疗影像特有的预处理Ops和评估指标。
fuse_examples(实战示例):内含多个完整的端到端训练流程,涵盖MNIST手写数字、STOIC21 COVID严重程度分类、KNIGHT ICU术前预测、ISIC皮肤病变、CMMD乳腺癌钼靶分类、多模态EHR-Transformer等多个真实竞赛数据集上的实现。
| 层级 | 技术选型 |
|---|---|
| 深度学习核心 | PyTorch + PyTorch Lightning(训练编排) |
| 数据格式 | HDF5 / NIfTI(nibabel)/ DICOM |
| 实验管理 | ClearML(实验追踪)、TensorBoard |
| 配置管理 | Hydra + OmegaConf(分层配置) |
| 基础模型 | torchvision预训练模型 + ViT-pytorch + x-transformers |
| NLP/嵌入 | HuggingFace Transformers + tokenizers |
| 评估框架 | scikit-learn + scipy + pandas |
| 代码质量 | ruff(lint)+ py.typed(类型标注完整) |
安装方式:
pip install -e .[all]),一次性装好fuse、fuseimg及所有示例依赖pip install fuse-med-ml[all]上手门槛:FuseMedML定位是「框架」而非「工具」,使用者需要具备基本的PyTorch和深度学习知识。官方提供了Colab版「Hello World」笔记本和MNIST快速入门示例,对新手较为友好。但完整的STOIC21等竞赛示例涉及复杂的医学影像预处理和Hydra多配置管理,有一定学习曲线。所有示例均使用Hydra进行配置管理,用户需要熟悉YAML配置文件编写方式。
框架本身设计支持分布式训练(PyTorch Lightning + FSDP),理论上可扩展至多节点GPU集群。在单卡场景下,使用PyTorch Lightning的自动混合精度(AMP)训练也能获得不错的效率。医学影像通常数据量较大(HDF5格式支持大文件随机访问),数据流水线采用多进程并行加载,避免GPU等待数据。项目未内置ONNX导出或Triton推理优化,模型部署到生产环境需要用户自行实现。
1. 无容器化支持:项目未提供Dockerfile或docker-compose,部署完全依赖本地Python环境。不同CUDA版本、PyTorch版本的兼容性问题是潜在痛点。
2. 生产部署困难:没有提供Web服务、API或模型服务框架,推理部署完全由用户自行实现。
3. 配置复杂度:Hydra的多配置管理虽然灵活,但学习成本较高。
4. 依赖较重:完整的依赖树包含大量科学计算和医学影像库,pip install -e .[all] 需要约3-5GB磁盘空间。
FuseMedML代表了医学AI领域从「手工作坊」向「工程化研发」转型的趋势。随着医学影像AI竞赛越来越多,参赛者和研究者迫切需要标准化的代码复用框架。FuseMedML填补了医学影像ML框架的开源空白。
2026年2月发布的0.4.1版本已支持OAI(Osteoarthritis Initiative)预训练和下游任务验证,并在2026年4月引入了MCP(MCP inference workflow example)推理工作流示例,显示出项目在持续跟进多模态AI和推理服务化方向的趋势。
对于正在构建医学影像AI研究基础设施的团队,FuseMedML是值得关注的技术选型;而对于只需要快速推理一个模型的工程团队,其部署复杂度和维护成本需要审慎评估。