安装
首先,官方不建议Windows安装,推荐Linux + Docker
我的环境:
● 操作系统平台: Windows 10
● Python: 3.8
● Torch/TorchVision: 1.10.1+cu102/ 0.11.1
● GPU: Nvidia RTX 2080 Ti 11G
安装步骤
- 安装torch和torchvision(亲测torch2.x不能用)
- 进nnDetection目录,
pip install -e.
可能出现的问题
problem1
TypeError: endswith first arg must be bytes or a tuple of bytes, not str
解决方案:
定位到库文件,添加.encode(‘utf-8’)
problem2
具体是说 pip install sklearn不能这么写,要写pip install scikit-learn
但是pip install -e.命令是自动化执行,定位点很麻烦
解决方案,pip降级
python -m pip install pip==21.2.1
验证环境
python -c "import torch; import nndet._C; import nndet"
没有报错即安装成功。
使用
-
下载并准备数据
以胰腺CT数据为例,首先按它的要求下载,并定义好环境变量和目录。
使用十项全能数据的prepare.py预处理数据,最后下载标签文件覆盖。这里的文档写的还是比较清楚。 -
预处理
根据setup.py可以看到主程序的入口,这样可以进代码调试,而不是直接终端命令运行(出错无法定位)
设置好环境变量
给默认参数,然后直接运行
预处理后的目录是这样的
3. 解压npy文件(Unpack)
同样,运行nndet_unpack C:/DB/det_data/Task007_Pancreas/preprocessed/D3V001_3d/imagesTr 6
(替换自己的路径)
这样,npy文件会解压出来。
- 训练
预处理完成后,定义默认参数,运行train.py
然后开始训练,默认的网络结构和模块参数可以通过调试模式在config中查看,在终端也会打印,这里不赘述。
训练开始的界面如下:
训练结果和推理流程
待训练结束后更新
结语
由于无人维护加版本不兼容,该代码在不使用Docker的情况下运行起来相当麻烦。如果后期接着这个框架做的话我会尝试分享代码运行的流程,不过大概率会弃坑,在nnUNet上自己写heads,loss和anchor了…555