修改nnUNet的部分组件(参考作者提供的doc)
下文主要是作者在nnUNet.documentation.extending_nnunet的翻译
https://github.com/MIC-DKFZ/nnUNet/tree/master/documentation/extending_nnunet.md
- 首先确保安装nnunet的方法为从github拖最新代码到本地,并使用pip install -e .进行安装,这样可确保本地有一份源码的拷贝
- 根据参数不同(推断,蓝图,经验参数/inferred, blueprint or empirical parameters)需要修改不同的地方
- 修改蓝图参数/blueprint parameters:
这部分是修改损失函数,训练策略,学习率,优化器,部分结构参数,数据增强等,以上所有部分均是nnU-Net trainer class的一部分。2D,3D fullresolution,lowresolution的默认trainer class是nnUNetTrainerV2,3d cascade fullresolution的默认trainer class是nnUNetTrainerV2CascadeFullRes。不同的trainer class相互继承。
修改部分功能组件,只需要新建一个trainer class,仿照其他trainer class进行改写,在训练时使用这个trainer class即可。这一步需要将新的trainer class防止在nnunet.training.network_training下的子文件夹中,并且不要和其他文件重名。
作者在这些子文件夹中给出了几种修改部分组件的例程,