NV生成VAE微调Skill nv-generate-vae-finetune

本技能用于对NV-Generate-CTMR项目中的MAISI VAE模型进行微调,支持CT/MRI NIfTI数据列表输入。它负责暂存上游配置、提供命令行参数、执行预检或真实GPU训练,并输出自编码器/判别器检查点、TensorBoard日志及运行摘要。关键词:医学影像、CT、MRI、VAE、自编码器、微调、生成模型、MONAI、NVIDIA、医疗AI。

医学影像生成 0 次安装 1 次浏览 更新于 9/6/2026
名称 nv-generate-vae-finetune
描述 用于从CT/MRI NIfTI数据列表微调NV-Generate-CTMR MAISI VAE。不适用于临床或生产数据批准。
开源协议 Apache-2.0 allowed-tools: Bash metadata:
作者 NVIDIA MedTech Team tags: - MedTech - CT - MRI - VAE - finetune

NV-Generate-VAE-Finetune

目的

  • 从用户提供的CT或MRI NIfTI训练体积微调NV-Generate-CTMR MAISI VAE/自编码器。不用于临床解读、监管用途或批准用于生产训练的合成数据。
  • 该技能不直接执行notebook,而是封装上游配置和数据列表(datalist)相关处理,调用上游辅助API。
  • 输入:datalist和data_base_dir;输出:autoencoder_checkpoint、discriminator_checkpoint和result_json。

可用脚本

脚本 用途
scripts/run_vae_finetune.py 主要入口点。参数包括DATALIST.json --data-base-dir --output-dir [–epochs] [–modality] [–patch-size] [–preflight]等。

先决条件

  • 需要一个NV_GENERATE_ROOT指向下游NV-Generate-CTMR仓库(包含config_maisi_vae_train.json和辅助脚本)。
  • 实际训练需要CUDA GPU、Python依赖(上游requirements + lpips + tensorboard)和预训练VAE权重(除非–train-from-scratch)。
  • Datalist需包含非空training[]和validation[]/testing[],image路径相对于–data-base-dir。

主要参数

  • 支持–batch-size(默认1)、–patch-size(64,64,64)、–lr(1e-4)、–perceptual-weight(0.3)、–kl-weight(1e-7)、–adv-weight(0.1)、–recon-loss(l1)、–val-interval(1)、–cache-rate(0.0)、–no-amp、–no-random-aug、–spacing-type等。
  • –preflight用于预检,不启动GPU训练。

用法示例

  • 预检:python skills/nv-generate-vae-finetune/scripts/run_vae_finetune.py DATALIST.json --data-base-dir DATA --output-dir OUT --preflight
  • GPU微调:python … DATALIST.json --data-base-dir DATA --output-dir OUT --epochs 1 --modality mri --download-model-data

监控与评估

  • TensorBoard日志输出到OUT_DIR/artifacts/tfevent。
  • 最佳检查点按validation loss自动选择并保存在OUT_DIR/artifacts/models。
  • 结果汇总在workflow_summary.json和stdout JSON中。

调优建议

  • 重建模糊:增大–perceptual-weight,或改用–recon-loss l2。
  • posterior collapse:保持–kl-weight很小。
  • 对抗不稳定:降低–adv-weight或–lr。
  • OOM:降低–patch-size或–cache-rate,保证batch size=1。

限制

  • 需要最新上游NV-Generate-CTMR checkout。
  • 训练成本高且非确定性。
  • 仅用于研究,不用于临床部署或监管提交。