智算多多联系我们


关注我们

公众号

视频号
隐私协议用户协议
◎ 2025 北京智算多多科技有限公司版权所有京ICP备 2025150592号-1
推荐使用conda创建隔离的Python 3.8环境,这能有效避免与系统其他项目的库冲突:
conda create -n nnunet_py38 python=3.8
conda activate nnunet_py38
安装nnUNet时,建议直接从官方仓库克隆最新稳定版本:
git clone https://github.com/MIC-DKFZ/nnUNet.git
cd nnUNet
pip install -e .
特别注意:某些CUDA版本可能与PyTorch默认安装不兼容。若遇到GPU相关错误,可尝试指定PyTorch版本:
pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
nnUNet对数据目录结构有着严格的要求,错误的组织方式会导致预处理失败。以下是经过验证的标准结构:
nnUNetFrame/
├── DATASET/
│ ├── nnUNet_raw/
│ │ └── nnUNet_raw_data/
│ │ └── Task100_Brats2019/
│ │ ├── imagesTr/ # 训练集图像
│ │ ├── labelsTr/ # 训练集标签
│ │ ├── imagesTs/ # 测试集图像
│ │ ├── labelsTs/ # 测试集标签(可选)
│ │ └── imagesTsPred/ # 预测输出目录
│ ├── nnUNet_preprocessed/ # 预处理缓存
│ └── nnUNet_trained_models/ # 训练模型保存位置
提示:任务编号建议从100开始(如Task100_Brats2019),避免与官方预设任务冲突。
虽然nnUNet主要处理3D数据,但通过简单的维度扩展,2D切片也能完美适配。以下是关键转换代码:
import SimpleITK as sitk
import numpy as np
def convert_2d_to_3d(image_2d):
# 在z轴添加维度
image_3d = np.expand_dims(image_2d, axis=0)