医疗模型证据导出Skill medtech-model-evidence-export

该技能用于将医疗AI推理运行或证据包(包括NV-Generate运行)的元数据、参数、质量指标等导出到MLflow,生成可复现性证据。它支持dry-run预览、本地或Databricks模式,并管理敏感医学图像工件的上传策略。适用于医疗影像推理结果的事后记录与审计,不用于训练跟踪或临床诊断。关键词:医疗AI、MLflow、证据导出、推理运行、NIfTI、元数据、质量指标、可复现性、医学影像、NV-Generate。

医学影像推理 0 次安装 0 次浏览 更新于 9/6/2026
名称 medtech-model-evidence-export
描述 从医疗AI推理运行或证据包中导出经过净化的元数据、参数、可复现性细节、质量指标和可选审查工件到MLflow。在推理后使用,包括NV-Generate运行;不用于实时训练跟踪、模型注册或临床使用。
开源协议 Apache-2.0 allowed-tools: Bash permissions: [env, file_read, file_write, network, shell] metadata:
作者 “NVIDIA MedTech noreply@nvidia.com

医疗模型证据导出到MLflow

目的

在运行后将现有的医疗推理结果或证据包镜像到MLflow,并发出export_result JSON契约。保留原始证据包作为事实来源。训练技能应在其训练循环内添加MLflow。

说明

  1. 以默认的dry-run模式运行scripts/export_evidence_pack.py
  2. 检查paramsmetricsartifact_planmlflow.note.content
  3. 仅在检查目标后选择--mode local--mode databricks
  4. 除非目标被批准用于图像,否则保持--artifact-policy metadata
  5. 对于实时(live)模式中的previewall,还需传递--confirm-medical-artifact-upload
  6. 保持--source-ref--note、配置文件名和工件文件名不包含患者或秘密标识符;务必先检查dry-run输出。

带有脚本助手的主机可以使用 run_script("scripts/export_evidence_pack.py", args=["PACK_OR_RESULT", "--mode", "dry-run"])

可用脚本

脚本 用途 参数
scripts/export_evidence_pack.py 通过MLflow导出事后推理证据。 PACK_OR_RESULT --mode dry-run --artifact-policy metadata

前提条件

  • Python 3.10+。
  • 对于localdatabricks模式,需要mlflow>=2.10,<4
  • 对于NIfTI质量指标和预览,需要numpy>=1.24,<3nibabel>=4,<6
  • MLFLOW_TRACKING_URI可选择调用者管理的跟踪服务器。
  • Databricks模式使用调用者的DATABRICKS_HOSTDATABRICKS_TOKEN或配置的Databricks配置文件。声明的网络端点是https://<caller-provided-mlflow-or-databricks-workspace>;不需要Docker和GPU。
  • 本地模式可以在<current-working-directory>/mlruns下写入MLflow存储。

示例

在未联系MLflow的情况下预览导出:

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/inference_pack --mode dry-run --artifact-policy metadata

使用可复现性元数据直接导出NV-Generate结果:

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/nv-generate/result.json \
  --mode local \
  --experiment-name medical-ai-inference \
  --config configs/chest_lung_tumor.json \
  --seed 0 \
  --source-ref git:61c4ec709b84cad468852243c48e250bec732074

记录下采样切片预览,但不记录原始NIfTI文件:

python skills/medtech-model-evidence-export/scripts/export_evidence_pack.py \
  runs/nv-generate/result.json \
  --mode databricks \
  --experiment-name /Shared/medical-ai-inference \
  --artifact-policy preview \
  --confirm-medical-artifact-upload

--artifact-policy all额外上传发现或显式提供的NIfTI图像和掩码,受--max-artifact-mb限制。当结果JSON中不存在路径时,使用--image--mask

导出器记录:

  • 标量运行和质量指标,包括CT的采样HU平均值/标准差/最小/最大值(否则为通用强度统计)、文档化的强度信噪比启发式、掩码前景百分比以及存在肿瘤标签映射时的映射肿瘤体积百分比;
  • 生成参数、模型/检查点标识、RNG种子和配方哈希;
  • 源配置摘要或--source-ref,以及存在提示词时的提示词摘要;
  • mlflow.note.content包含简短的人类可读运行摘要;
  • 默认情况下一个净化的元数据包,可选的PNG切片预览,以及仅在显式all策略下的原始图像/掩码工件。

局限性

  • 这是事后推理导出,不是实时训练曲线跟踪。
  • 全局强度信噪比和下采样体积统计是工程检查,不是图像质量或临床性能声明。
  • 预览和原始工件可能包含敏感的医疗信息。调用者必须在上传前批准目标和数据策略。
  • 导出器不评估模型质量、注册模型或更改源证据包。

故障排除

错误 原因 修复
证据源无法识别 没有直接的结果JSON或包manifest.json 传递结果文件、证据包目录或信任的运行根目录。
MLflow导入失败 实时模式缺少声明的包。 安装mlflow>=2.10,<4或使用--mode dry-run
预览/全部确认错误 实时图像上传未被确认。 检查目标,然后传递--confirm-medical-artifact-upload
引用的图像未找到 推理后结果路径已移动。 使用--image--mask传递当前路径。