nv-generate-mr-brain-finetune

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

NV-Generate-MR-Brain-Finetune

NV-Generate-MR-Brain-Finetune

Purpose

用途

  • Used for finetuning the NV-Generate-CTMR
    rflow-mr-brain
    diffusion UNet from user-supplied NIfTI training volumes.
  • Not for clinical interpretation, regulatory use, or approving synthetic data for production training.
  • The wrapper stages the config glue locally and delegates execution to existing upstream scripts:
    scripts.diff_model_create_training_data
    ,
    scripts.diff_model_train
    , and optionally
    scripts.diff_model_infer
    . It does not execute the notebook.
  • Manifest I/O: inputs are
    datalist
    and
    data_base_dir
    ; outputs are
    finetuned_checkpoint
    , optional
    inference_outputs
    , and
    result_json
    .
  • The underlying training contract is the upstream config/env JSON (the same one driven from cell
    [10]
    of
    train_diff_unet_tutorial.ipynb
    ). The wrapper stages those JSON files for you and exposes the most-tuned fields as CLI flags; the sections below document the fields, their defaults, and how to monitor/tune a run.
  • 用于基于用户提供的NIfTI训练卷微调NV-Generate-CTMR的
    rflow-mr-brain
    扩散UNet模型。
  • 不可用于临床解读、监管用途或批准合成数据用于生产训练。
  • 该包装器会在本地准备配置文件,并将执行任务委托给现有的上游脚本:
    scripts.diff_model_create_training_data
    scripts.diff_model_train
    ,以及可选的
    scripts.diff_model_infer
    。它不会运行笔记本文件。
  • 清单输入输出:输入为
    datalist
    data_base_dir
    ;输出为
    finetuned_checkpoint
    、可选的
    inference_outputs
    result_json
  • 底层训练协议为上游配置/环境JSON(与
    train_diff_unet_tutorial.ipynb
    的单元格
    [10]
    所使用的相同)。包装器会为您准备这些JSON文件,并将最常用的配置字段作为CLI标志暴露出来;以下部分将记录这些字段、默认值以及如何监控和调优运行过程。

Instructions

操作说明

  • Read
    skill_manifest.yaml
    before changing arguments, side effects, or validation gates.
  • Run
    scripts/run_mr_brain_finetune.py
    from the Medical AI Skills repo root.
  • If a host agent exposes
    run_script
    , use
    run_script("scripts/run_mr_brain_finetune.py", args=[...])
    ; otherwise run the Bash/Python command below.
  • Use
    --preflight
    first when checking a new datalist; remove
    --preflight
    only when the user explicitly wants to launch GPU finetuning.
  • For a staged preflight input bundle directory, use
    BUNDLE/preflight_datalist.json
    as the datalist and
    BUNDLE/preflight_dataset
    as
    --data-base-dir
    when those files are present.
  • 在修改参数、副作用或验证规则前,请先阅读
    skill_manifest.yaml
  • 从Medical AI Skills仓库根目录运行
    scripts/run_mr_brain_finetune.py
  • 如果主机Agent暴露了
    run_script
    接口,请使用
    run_script("scripts/run_mr_brain_finetune.py", args=[...])
    ;否则运行下方的Bash/Python命令。
  • 检查新数据列表时,请先使用
    --preflight
    参数;仅当用户明确要启动GPU微调时,再移除该参数。
  • 对于已准备好的预校验输入包目录,当
    BUNDLE/preflight_datalist.json
    BUNDLE/preflight_dataset
    文件存在时,使用前者作为数据列表,后者作为
    --data-base-dir

Examples

示例

Validate and stage a preflight finetune check from an input bundle (the recommended first step — no GPU, no training). This is the single canonical command; replace
INPUT_BUNDLE
and
OUT_DIR
with your paths:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  INPUT_BUNDLE/preflight_datalist.json \
  --data-base-dir INPUT_BUNDLE/preflight_dataset \
  --output-dir OUT_DIR \
  --modality mri_t1 \
  --preflight
For real GPU finetuning and other variations, see Usage below.
从输入包验证并准备预校验微调检查(推荐的第一步——无需GPU,不进行训练)。这是标准命令;请将
INPUT_BUNDLE
OUT_DIR
替换为您的路径:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  INPUT_BUNDLE/preflight_datalist.json \
  --data-base-dir INPUT_BUNDLE/preflight_dataset \
  --output-dir OUT_DIR \
  --modality mri_t1 \
  --preflight
如需进行实际GPU微调及其他变体操作,请查看下方的【2. 使用方式(一键训练)】部分。

Available Scripts

可用脚本

ScriptPurposeArguments
scripts/run_mr_brain_finetune.py
Primary entrypoint declared by
skill_manifest.yaml
.
DATALIST.json --data-base-dir DATA_DIR --output-dir OUT_DIR [--epochs N] [--modality mri_t1] [--num-gpus N] [--no-amp] [--model-config FILE] [--run-inference] [--preflight]
脚本用途参数
scripts/run_mr_brain_finetune.py
skill_manifest.yaml
声明的主入口脚本
DATALIST.json --data-base-dir DATA_DIR --output-dir OUT_DIR [--epochs N] [--modality mri_t1] [--num-gpus N] [--no-amp] [--model-config FILE] [--run-inference] [--preflight]

Prerequisites

前置条件

  • NV_GENERATE_ROOT
    may point to a current checkout of
    https://github.com/NVIDIA-Medtech/NV-Generate-CTMR
    containing
    scripts/diff_model_create_training_data.py
    ,
    scripts/diff_model_train.py
    , and
    scripts/diff_model_infer.py
    .
  • If
    NV_GENERATE_ROOT
    is unset, the wrapper searches
    .workbench_data/upstreams/NV-Generate-CTMR
    .
  • CUDA_VISIBLE_DEVICES
    is optional and can be used to select the GPU for real training.
  • Runtime requirements: NVIDIA CUDA GPU for real training, Python packages from the upstream
    requirements.txt
    , and downloaded MR-brain weights.
  • Side effects: writes staged configs, embeddings, checkpoints, optional inference images, and logs under the caller-provided
    --output-dir
    ; may write model caches under the upstream checkout and
    ~/.cache/huggingface/
    ; may contact
    https://huggingface.co
    for model assets and
    https://github.com
    for the upstream checkout.
  • The datalist is a MONAI-style JSON object with
    training[].image
    paths relative to
    --data-base-dir
    .
    training[].modality
    is optional and defaults to
    mri_t1
    .
  • NV_GENERATE_ROOT
    需指向
    https://github.com/NVIDIA-Medtech/NV-Generate-CTMR
    的当前检出版本,其中需包含
    scripts/diff_model_create_training_data.py
    scripts/diff_model_train.py
    scripts/diff_model_infer.py
  • 如果未设置
    NV_GENERATE_ROOT
    ,包装器会搜索
    .workbench_data/upstreams/NV-Generate-CTMR
  • CUDA_VISIBLE_DEVICES
    为可选参数,可用于选择实际训练时使用的GPU。
  • 运行环境要求:实际训练需NVIDIA CUDA GPU,需安装上游
    requirements.txt
    中的Python包,且需下载脑部MR模型权重。
  • 副作用:会在用户指定的
    --output-dir
    下写入准备好的配置文件、嵌入向量、检查点、可选的推理图像和日志;可能会在上游检出目录和
    ~/.cache/huggingface/
    下写入模型缓存;可能会连接
    https://huggingface.co
    获取模型资源,连接
    https://github.com
    获取上游检出版本。
  • 数据列表为MONAI风格的JSON对象,其中
    training[].image
    路径为相对于
    --data-base-dir
    的路径。
    training[].modality
    为可选参数,默认值为
    mri_t1

1. Config and environment JSON (adapt to your data)

1. 配置与环境JSON(适配您的数据)

This is a thin wrapper around the upstream
train_diff_unet_tutorial.ipynb
flow. Each run performs four steps, delegating the heavy lifting to the model author's scripts:
  1. Stage configs — copy the three config JSONs and rewrite only the run-specific paths and
    n_epochs
    (notebook cell 15).
  2. python -m scripts.diff_model_create_training_data
    → latent
    *_emb.nii.gz
    embeddings (cell 17).
  3. Write embedding sidecars — a
    <emb>.nii.gz.json
    per embedding with
    spacing
    /
    modality
    (and body-region indices when the model uses them). This is the one piece of glue that lives in the notebook (cell 19), not in upstream
    scripts/
    , and
    diff_model_train
    requires it; the skill owns it.
  4. python -m scripts.diff_model_train
    (cell 21), optionally
    python -m scripts.diff_model_infer
    .
Tune by editing the config JSON, not by adding flags. All training/inference hyperparameters (
lr
,
batch_size
,
cache_rate
, inference
dim
/
spacing
/
num_inference_steps
/
cfg_guidance_scale
, …) live in
config_maisi_diff_model_rflow-mr-brain.json
. Edit the upstream copy, or pass your own with
--model-config FILE
(and
--env-config
/
--model-def
for the other two). The wrapper only ever rewrites the fields below.
Environment JSON (
environment_maisi_diff_model_rflow-mr-brain.json
) — fields the wrapper rewrites per run:
FieldSet fromNotes
data_base_dir
--data-base-dir
Root for relative
training[].image
paths.
json_data_list
your datalistStaged copy with per-entry
modality
filled in.
embedding_base_dir
,
model_dir
,
output_dir
--output-dir
Latent embeddings, checkpoints, inference images.
modality_mapping_path
upstreamMaps modality name → integer code.
model_filename
--model-filename
Output checkpoint name (default
diff_unet_3d_rflow-mr-brain_v0.pt
).
existing_ckpt_filepath
upstream weights /
--existing-ckpt-filepath
Starting checkpoint; cleared by
--train-from-scratch
.
trained_autoencoder_path
upstream weights /
--trained-autoencoder-path
VAE used to encode/decode latents.
Model config (
config_maisi_diff_model_rflow-mr-brain.json
) — the only fields the wrapper touches:
FieldSet fromDefaultNotes
diffusion_unet_train.n_epochs
--epochs
2
(upstream config ships
1000
)
Convenience override (cell 15 does the same); wrapper default is small for verification.
diffusion_unet_inference.modality
--modality
from
modality_mapping.json
Kept consistent with the training modality for optional
--run-inference
.
Everything else in that file (
lr
,
batch_size
,
cache_rate
, the rest of
diffusion_unet_inference
) is left exactly as written — edit the JSON to change it.
Runtime flags (not config fields):
--num-gpus N
(
>1
launches
torch.distributed.run
),
--no-amp
(disable mixed precision, passed through to
diff_model_train
).
--modality
selects the integer code from
configs/modality_mapping.json
. Supported brain values:
mri
(8),
mri_t1
(9, default),
mri_t2
(10),
mri_flair
(11),
mri_swi
(20), and their
*_skull_stripped
variants (29/30/31/32). Per-case
training[].modality
overrides
--modality
. The modality also feeds the step-3 embedding sidecars.
For an end-to-end reference including example data download and checkpoint loading, see the upstream tutorial
train_diff_unet_tutorial.ipynb
.
这是上游
train_diff_unet_tutorial.ipynb
流程的轻量包装器。每次运行会执行四个步骤,将核心任务委托给模型作者的脚本:
  1. 准备配置文件 —— 复制三个配置JSON文件,仅重写与运行相关的路径和
    n_epochs
    (对应笔记本单元格15)。
  2. python -m scripts.diff_model_create_training_data
    → 生成潜在
    *_emb.nii.gz
    嵌入向量(对应单元格17)。
  3. 写入嵌入向量附属文件 —— 每个嵌入向量对应一个
    <emb>.nii.gz.json
    文件,包含
    spacing
    /
    modality
    (当模型使用体区域索引时还包含该索引)。这是笔记本中(单元格19)而非上游
    scripts/
    中的唯一衔接逻辑,且
    diff_model_train
    需要该文件;本Skill负责处理此步骤。
  4. python -m scripts.diff_model_train
    (对应单元格21),可选执行
    python -m scripts.diff_model_infer
通过编辑配置JSON进行调优,而非添加标志。 所有训练/推理超参数(
lr
batch_size
cache_rate
、推理
dim
/
spacing
/
num_inference_steps
/
cfg_guidance_scale
等)均存储在
config_maisi_diff_model_rflow-mr-brain.json
中。编辑上游副本,或通过
--model-config FILE
(以及
--env-config
/
--model-def
用于另外两个配置文件)传入您自己的配置。包装器仅会重写以下字段。
环境JSON(
environment_maisi_diff_model_rflow-mr-brain.json
)——包装器会针对每次运行重写以下字段:
字段来源说明
data_base_dir
--data-base-dir
training[].image
相对路径的根目录。
json_data_list
您的数据列表已准备好的副本,其中填充了每个条目的
modality
embedding_base_dir
,
model_dir
,
output_dir
--output-dir
潜在嵌入向量、检查点、推理图像的存储目录。
modality_mapping_path
上游文件映射模态名称→整数编码。
model_filename
--model-filename
输出检查点名称(默认值为
diff_unet_3d_rflow-mr-brain_v0.pt
)。
existing_ckpt_filepath
上游权重 /
--existing-ckpt-filepath
初始检查点;使用
--train-from-scratch
会清空该字段。
trained_autoencoder_path
上游权重 /
--trained-autoencoder-path
用于编码/解码潜在向量的VAE模型。
模型配置(
config_maisi_diff_model_rflow-mr-brain.json
)——包装器仅会修改以下字段:
字段来源默认值说明
diffusion_unet_train.n_epochs
--epochs
2
(上游配置默认值为
1000
便捷覆盖参数(单元格15也会执行相同操作);包装器默认值较小,用于验证。
diffusion_unet_inference.modality
--modality
来自
modality_mapping.json
与训练模态保持一致,用于可选的
--run-inference
操作。
该文件中的其他所有内容(
lr
batch_size
cache_rate
diffusion_unet_inference
的其余参数)均保持原样——如需修改请编辑JSON文件。
运行时标志(非配置字段):
--num-gpus N
>1
时会启动
torch.distributed.run
)、
--no-amp
(禁用混合精度,会传递给
diff_model_train
)。
--modality
会从
configs/modality_mapping.json
中选择整数编码。支持的脑部模态值包括:
mri
(8)、
mri_t1
(9,默认值)、
mri_t2
(10)、
mri_flair
(11)、
mri_swi
(20),以及它们的
*_skull_stripped
变体(29/30/31/32)。每个案例的
training[].modality
会覆盖
--modality
参数。模态信息还会用于第三步的嵌入向量附属文件。
如需包含示例数据下载和检查点加载的端到端参考,请查看上游教程
train_diff_unet_tutorial.ipynb

2. Usage (one-line training)

2. 使用方式(一键训练)

Preflight only:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_DATALIST.json \
  --data-base-dir PATH_TO_DATA_ROOT \
  --output-dir runs/nv_generate_mr_brain_finetune_preflight \
  --preflight
Preflight bundle input:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_INPUT_BUNDLE/preflight_datalist.json \
  --data-base-dir PATH_TO_INPUT_BUNDLE/preflight_dataset \
  --output-dir runs/nv_generate_mr_brain_finetune_preflight \
  --preflight
GPU finetuning:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python -m pip install -r "$NV_GENERATE_ROOT/requirements.txt" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_DATALIST.json \
  --data-base-dir PATH_TO_DATA_ROOT \
  --output-dir runs/nv_generate_mr_brain_finetune \
  --epochs 2 \
  --modality mri_t1 \
  --run-inference
Replace
PATH_TO_DATALIST.json
and
PATH_TO_DATA_ROOT
with the user's actual paths. Do not use the fixture datalist for real training; it is a preflight-only placeholder.
仅预校验:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_DATALIST.json \
  --data-base-dir PATH_TO_DATA_ROOT \
  --output-dir runs/nv_generate_mr_brain_finetune_preflight \
  --preflight
预校验包输入:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_INPUT_BUNDLE/preflight_datalist.json \
  --data-base-dir PATH_TO_INPUT_BUNDLE/preflight_dataset \
  --output-dir runs/nv_generate_mr_brain_finetune_preflight \
  --preflight
GPU微调:
bash
export NV_GENERATE_ROOT="${NV_GENERATE_ROOT:-.workbench_data/upstreams/NV-Generate-CTMR}" && \
python -m pip install -r "$NV_GENERATE_ROOT/requirements.txt" && \
python skills/nv-generate-mr-brain-finetune/scripts/run_mr_brain_finetune.py \
  PATH_TO_DATALIST.json \
  --data-base-dir PATH_TO_DATA_ROOT \
  --output-dir runs/nv_generate_mr_brain_finetune \
  --epochs 2 \
  --modality mri_t1 \
  --run-inference
请将
PATH_TO_DATALIST.json
PATH_TO_DATA_ROOT
替换为用户的实际路径。请勿使用测试数据列表进行实际训练;它仅作为预校验占位符。

3. Monitor training (TensorBoard)

3. 监控训练(TensorBoard)

scripts.diff_model_train
writes TensorBoard event files under the staged
model_dir
(
OUT_DIR/artifacts/models
). Launch TensorBoard against the output directory and watch the loss curve:
bash
python -m pip install tensorboard && \
tensorboard --logdir runs/nv_generate_mr_brain_finetune/artifacts
The run summary is written to
OUT_DIR/artifacts/workflow_summary.json
(checkpoint path, embedding sidecars, inference outputs); the JSON the wrapper prints to stdout mirrors the same paths plus
exit_code
and a
stderr_tail
for quick triage.
scripts.diff_model_train
会在准备好的
model_dir
OUT_DIR/artifacts/models
)下写入TensorBoard事件文件。针对输出目录启动TensorBoard并查看损失曲线:
bash
python -m pip install tensorboard && \
tensorboard --logdir runs/nv_generate_mr_brain_finetune/artifacts
运行摘要会写入
OUT_DIR/artifacts/workflow_summary.json
(包含检查点路径、嵌入向量附属文件、推理输出);包装器打印到标准输出的JSON会镜像这些路径,同时包含
exit_code
stderr_tail
用于快速排查问题。

4. Hyperparameter tuning and common pitfalls

4. 超参数调优与常见问题

  • Loss not decreasing / unstable — lower
    diffusion_unet_train.lr
    (default
    1e-5
    ) in the model-config JSON, or keep AMP on (default);
    --no-amp
    is slower but more numerically stable on older GPUs.
  • Out-of-memory — keep
    diffusion_unet_train.batch_size
    at
    1
    and
    cache_rate
    at
    0
    in the config JSON, and confirm the autoencoder/UNet fit your GPU before scaling. Multi-GPU (
    --num-gpus N
    ) shards the batch via
    torch.distributed.run
    .
  • Few cases / quick check — keep
    --epochs
    small (the wrapper default
    2
    is for verification, not convergence; the upstream config ships
    1000
    ).
  • Wrong modality conditioning — set
    --modality
    or per-case
    training[].modality
    to a value present in
    configs/modality_mapping.json
    ; a mismatch produces a clear error rather than silently mislabeling latents.
  • Slow startup on first run
    diff_model_create_training_data
    precomputes latent embeddings once; reuse the same
    --output-dir
    to avoid recomputing them.
  • 损失未下降/不稳定 —— 在模型配置JSON中降低
    diffusion_unet_train.lr
    (默认值
    1e-5
    ),或保持AMP启用(默认设置);
    --no-amp
    速度较慢,但在旧GPU上数值稳定性更高。
  • 内存不足 —— 在配置JSON中保持
    diffusion_unet_train.batch_size
    1
    cache_rate
    0
    ,并在扩展前确认自动编码器/UNet适配您的GPU。多GPU(
    --num-gpus N
    )会通过
    torch.distributed.run
    拆分批次。
  • 案例数量少/快速检查 —— 保持
    --epochs
    较小(包装器默认值
    2
    用于验证,而非收敛;上游配置默认值为
    1000
    )。
  • 模态条件错误 —— 将
    --modality
    或每个案例的
    training[].modality
    设置为
    configs/modality_mapping.json
    中存在的值;不匹配会产生明确错误,而非静默标记错误的潜在向量。
  • 首次启动速度慢 ——
    diff_model_create_training_data
    会预先计算一次潜在嵌入向量;重复使用相同的
    --output-dir
    可避免重新计算。

5. Evaluate the finetuned model

5. 评估微调后的模型

Use the staged checkpoint (
OUT_DIR/artifacts/models/<model_filename>
) as the diffusion UNet for generation, then inspect the synthesized volumes:
  • Pass
    --run-inference
    here for a quick built-in sanity render, or
  • Point the
    nv-generate-mr-brain
    inference skill at the finetuned checkpoint to generate fresh brain MRI volumes for qualitative review.
This skill gates file accounting and command provenance only — anatomical realism and downstream utility must be judged by a domain expert on the generated images.
使用准备好的检查点(
OUT_DIR/artifacts/models/<model_filename>
)作为扩散UNet进行生成,然后检查合成的卷数据:
  • 在此处使用
    --run-inference
    进行快速内置的合理性渲染,或
  • nv-generate-mr-brain
    推理Skill指向微调后的检查点,生成新的脑部MRI卷用于定性评估。
本Skill仅负责文件管理和命令溯源——生成图像的解剖学真实性和下游效用必须由领域专家判断。

Limitations

局限性

  • Requires a current upstream
    NV-Generate-CTMR
    checkout with the existing diffusion training scripts. The skill itself stages the required config and datalist glue locally and does not depend on the notebook or PR #33.
  • Full training can be expensive and is not deterministic across hardware, CUDA, and package versions.
  • The wrapper gates file accounting and command provenance, not anatomical realism or downstream model utility.
  • Not for clinical deployment, clinical interpretation, autonomous diagnosis, regulatory submission, or production training-data approval.
  • 需要当前上游
    NV-Generate-CTMR
    检出版本及现有的扩散训练脚本。本Skill本身会在本地准备所需的配置和数据列表衔接逻辑,不依赖笔记本或PR #33。
  • 完整训练成本较高,且在不同硬件、CUDA和包版本下结果不具有确定性。
  • 包装器仅负责文件管理和命令溯源,不保证解剖学真实性或下游模型效用。
  • 不可用于临床部署、临床解读、自主诊断、监管提交或生产训练数据审批。

Troubleshooting

故障排除

ErrorCauseFix
diffusion training scripts were not found
NV_GENERATE_ROOT
does not point at a current NV-Generate-CTMR checkout.
Clone or update
https://github.com/NVIDIA-Medtech/NV-Generate-CTMR
and set
NV_GENERATE_ROOT
.
missing datalist image
training[].image
paths are not relative to
--data-base-dir
or files are absent.
Fix the datalist or pass the correct data root.
CUDA or MONAI import failureRuntime environment lacks upstream dependencies.Install
"$NV_GENERATE_ROOT/requirements.txt"
in the selected environment.
错误原因解决方法
diffusion training scripts were not found
NV_GENERATE_ROOT
未指向当前NV-Generate-CTMR检出版本。
克隆或更新
https://github.com/NVIDIA-Medtech/NV-Generate-CTMR
并设置
NV_GENERATE_ROOT
missing datalist image
training[].image
路径不相对于
--data-base-dir
或文件不存在。
修正数据列表或传入正确的数据根目录。
CUDA或MONAI导入失败运行环境缺少上游依赖。在所选环境中安装
"$NV_GENERATE_ROOT/requirements.txt"
中的依赖。