如有错误,欢迎评论
项目结构
## 0.0 文档说明
./documentation/__init__.py
├── benchmarking.md
├── changelog.md
├── convert_msd_dataset.md
├── dataset_format_inference.md
├── dataset_format.md #数据格式
├── explanation_normalization.md #归一化方式
├── explanation_plans_files.md #设计实验的方法
├── extending_nnunet.md
├── how_to_use_nnunet.md #如何使用nnunet
├── __init__.py
├── installation_instructions.md #如何安装nnunet
├── manual_data_splits.md #手动区分训练集和验证集
├── pretraining_and_finetuning.md
├── region_based_training.md
├── run_inference_with_pretrained_models.md
├── set_environment_variables.md
├── setting_up_paths.md
└── tldr_migration_guide_from_v1.md
./setup.py
./nnunetv2/paths.py
./nnunetv2/configuration.py
## 1.0数据格式转换代码,通过下面的代码,可以将其他数据文件存储目录结构调整成nnunet可以使用的目录结构
./nnunetv2/dataset_conversion/__init__.py
./nnunetv2/dataset_conversion/generate_dataset_json.py
./nnunetv2/dataset_conversion/datasets_for_integration_tests/__init__.py
./nnunetv2/dataset_conversion/datasets_for_integration_tests/Dataset998_IntegrationTest_Hippocampus_ignore.py
./nnunetv2/dataset_conversion/datasets_for_integration_tests/Dataset996_IntegrationTest_Hippocampus_regions_ignore.py
./nnunetv2/dataset_conversion/datasets_for_integration_tests/Dataset999_IntegrationTest_Hippocampus.py
./nnunetv2/dataset_conversion/datasets_for_integration_tests/Dataset997_IntegrationTest_Hippocampus_regions.py
./nnunetv2/dataset_conversion/convert_raw_dataset_from_old_nnunet_format.py
./nnunetv2/dataset_conversion/convert_MSD_dataset.py # 命令使用
./nnunetv2/dataset_conversion/Dataset137_BraTS21.py
./nnunetv2/dataset_conversion/Dataset120_RoadSegmentation.py
./nnunetv2/dataset_conversion/Dataset114_MNMs.py
./nnunetv2/dataset_conversion/Dataset218_Amos2022_task1.py
./nnunetv2/dataset_conversion/Dataset988_dummyDataset4.py
./nnunetv2/dataset_conversion/Dataset027_ACDC.py
./nnunetv2/dataset_conversion/Dataset220_KiTS2023.py
./nnunetv2/dataset_conversion/Dataset073_Fluo_C3DH_A549_SIM.py
./nnunetv2/dataset_conversion/Dataset115_EMIDEC.py
./nnunetv2/dataset_conversion/Dataset219_Amos2022_task2.py
## 1.1、图像读取模块
./nnunetv2/imageio/nibabel_reader_writer.py
./nnunetv2/imageio/simpleitk_reader_writer.py
./nnunetv2/imageio/tif_reader_writer.py
./nnunetv2/imageio/__init__.py
./nnunetv2/imageio/natural_image_reager_writer.py
./nnunetv2/imageio/reader_writer_registry.py
./nnunetv2/imageio/base_reader_writer.py
## 1.2、工具包模块
./nnunetv2/utilities/get_network_from_plans.py
./nnunetv2/utilities/default_n_proc_DA.py
./nnunetv2/utilities/overlay_plots.py
./nnunetv2/utilities/helpers.py
./nnunetv2/utilities/collate_outputs.py
./nnunetv2/utilities/ddp_allgather.py
./nnunetv2/utilities/__init__.py
./nnunetv2/utilities/json_export.py
./nnunetv2/utilities/label_handling/__init__.py
./nnunetv2/utilities/label_handling/label_handling.py
./nnunetv2/utilities/network_initialization.py
./nnunetv2/utilities/dataset_name_id_conversion.py
./nnunetv2/utilities/file_path_utilities.py
./nnunetv2/utilities/find_class_by_name.py
./nnunetv2/utilities/utils.py
./nnunetv2/utilities/plans_handling/plans_handler.py
./nnunetv2/utilities/plans_handling/__init__.py
## 2.0、生成nnunet可以使用的数据类型,并且对数据进行统计分析,设计模型需要使用的各种超参
./nnunetv2/experiment_planning/plan_and_preprocess_api.py
./nnunetv2/experiment_planning/plan_and_preprocess_entrypoints.py
./nnunetv2/experiment_planning/__init__.py
./nnunetv2/experiment_planning/dataset_fingerprint/__init__.py
./nnunetv2/experiment_planning/dataset_fingerprint/fingerprint_extractor.py
./nnunetv2/experiment_planning/plans_for_pretraining/__init__.py
./nnunetv2/experiment_planning/plans_for_pretraining/move_plans_between_datasets.py
./nnunetv2/experiment_planning/experiment_planners/__init__.py
./nnunetv2/experiment_planning/experiment_planners/network_topology.py
./nnunetv2/experiment_planning/experiment_planners/resencUNet_planner.py
./nnunetv2/experiment_planning/experiment_planners/default_experiment_planner.py
./nnunetv2/experiment_planning/verify_dataset_integrity.py
## 2.1、前处理模块
./nnunetv2/preprocessing/cropping/cropping.py
./nnunetv2/preprocessing/cropping/__init__.py
./nnunetv2/preprocessing/resampling/__init__.py
./nnunetv2/preprocessing/resampling/default_resampling.py
./nnunetv2/preprocessing/resampling/utils.py
./nnunetv2/preprocessing/__init__.py
./nnunetv2/preprocessing/normalization/map_channel_name_to_normalization.py
./nnunetv2/preprocessing/normalization/default_normalization_schemes.py
./nnunetv2/preprocessing/normalization/__init__.py
./nnunetv2/preprocessing/preprocessors/__init__.py
./nnunetv2/preprocessing/preprocessors/default_preprocessor.py
## 2.2、后处理模块
./nnunetv2/postprocessing/remove_connected_components.py
./nnunetv2/postprocessing/__init__.py
## 2.3、模型加载
./nnunetv2/__init__.py
./nnunetv2/model_sharing/model_download.py
./nnunetv2/model_sharing/__init__.py
./nnunetv2/model_sharing/model_import.py
./nnunetv2/model_sharing/entry_points.py
./nnunetv2/model_sharing/model_export.py
## 3.0、训练模块
./nnunetv2/training/__init__.py
#3.1、数据加载模块
./nnunetv2/training/dataloading/data_loader_3d.py
./nnunetv2/training/dataloading/__init__.py
./nnunetv2/training/dataloading/utils.py
./nnunetv2/training/dataloading/nnunet_dataset.py
./nnunetv2/training/dataloading/data_loader_2d.py
./nnunetv2/training/dataloading/base_data_loader.py
#3.2、数据增强模块
./nnunetv2/training/data_augmentation/__init__.py
./nnunetv2/training/data_augmentation/compute_initial_patch_size.py
./nnunetv2/training/data_augmentation/custom_transforms/region_based_training.py
./nnunetv2/training/data_augmentation/custom_transforms/deep_supervision_donwsampling.py
./nnunetv2/training/data_augmentation/custom_transforms/__init__.py
./nnunetv2/training/data_augmentation/custom_transforms/transforms_for_dummy_2d.py
./nnunetv2/training/data_augmentation/custom_transforms/masking.py
./nnunetv2/training/data_augmentation/custom_transforms/cascade_transforms.py
./nnunetv2/training/data_augmentation/custom_transforms/manipulating_data_dict.py
./nnunetv2/training/data_augmentation/custom_transforms/limited_length_multithreaded_augmenter.py
#3.3、损失函数模块
./nnunetv2/training/loss/deep_supervision.py
./nnunetv2/training/loss/__init__.py
./nnunetv2/training/loss/dice.py
./nnunetv2/training/loss/robust_ce_loss.py
./nnunetv2/training/loss/compound_losses.py
#3.4、学习率模块
./nnunetv2/training/lr_scheduler/__init__.py
./nnunetv2/training/lr_scheduler/polylr.py
#3.5、日志模块
./nnunetv2/training/logging/nnunet_logger.py
./nnunetv2/training/logging/__init__.py
#3.6、训练最佳实践模块
./nnunetv2/training/nnUNetTrainer/nnUNetTrainer.py
./nnunetv2/training/nnUNetTrainer/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/optimizer/nnUNetTrainerAdan.py
./nnunetv2/training/nnUNetTrainer/variants/optimizer/nnUNetTrainerAdam.py
./nnunetv2/training/nnUNetTrainer/variants/optimizer/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/network_architecture/nnUNetTrainerNoDeepSupervision.py
./nnunetv2/training/nnUNetTrainer/variants/network_architecture/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/network_architecture/nnUNetTrainerBN.py
./nnunetv2/training/nnUNetTrainer/variants/loss/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/loss/nnUNetTrainerTopkLoss.py
./nnunetv2/training/nnUNetTrainer/variants/loss/nnUNetTrainerDiceLoss.py
./nnunetv2/training/nnUNetTrainer/variants/loss/nnUNetTrainerCELoss.py
./nnunetv2/training/nnUNetTrainer/variants/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/lr_schedule/nnUNetTrainerCosAnneal.py
./nnunetv2/training/nnUNetTrainer/variants/lr_schedule/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/sampling/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/sampling/nnUNetTrainer_probabilisticOversampling.py
./nnunetv2/training/nnUNetTrainer/variants/data_augmentation/nnUNetTrainerNoMirroring.py
./nnunetv2/training/nnUNetTrainer/variants/data_augmentation/nnUNetTrainerDA5.py
./nnunetv2/training/nnUNetTrainer/variants/data_augmentation/nnUNetTrainerNoDA.py
./nnunetv2/training/nnUNetTrainer/variants/data_augmentation/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/data_augmentation/nnUNetTrainerDAOrd0.py
./nnunetv2/training/nnUNetTrainer/variants/benchmarking/nnUNetTrainerBenchmark_5epochs.py
./nnunetv2/training/nnUNetTrainer/variants/benchmarking/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/benchmarking/nnUNetTrainerBenchmark_5epochs_noDataLoading.py
./nnunetv2/training/nnUNetTrainer/variants/training_length/nnUNetTrainer_Xepochs_NoMirroring.py
./nnunetv2/training/nnUNetTrainer/variants/training_length/__init__.py
./nnunetv2/training/nnUNetTrainer/variants/training_length/nnUNetTrainer_Xepochs.py
## 4.0、推理模块
./nnunetv2/inference/examples.py
./nnunetv2/inference/__init__.py
./nnunetv2/inference/sliding_window_prediction.py
./nnunetv2/inference/predict_from_raw_data.py
./nnunetv2/inference/export_prediction.py
./nnunetv2/inference/data_iterators.py
./nnunetv2/ensembling/ensemble.py
./nnunetv2/ensembling/__init__.py
./nnunetv2/run/run_training.py
./nnunetv2/run/load_pretrained_weights.py
./nnunetv2/run/__init__.py
./nnunetv2/batch_running/generate_lsf_runs_customDecathlon.py
./nnunetv2/batch_running/__init__.py
./nnunetv2/batch_running/release_trainings/__init__.py
./nnunetv2/batch_running/release_trainings/nnunetv2_v1/__init__.py
./nnunetv2/batch_running/release_trainings/nnunetv2_v1/generate_lsf_commands.py
./nnunetv2/batch_running/release_trainings/nnunetv2_v1/collect_results.py
./nnunetv2/batch_running/benchmarking/__init__.py
./nnunetv2/batch_running/benchmarking/generate_benchmarking_commands.py
./nnunetv2/batch_running/benchmarking/summarize_benchmark_results.py
./nnunetv2/batch_running/collect_results_custom_Decathlon_2d.py
./nnunetv2/batch_running/collect_results_custom_Decathlon.py
## 5.0、测试模块
./nnunetv2/tests/__init__.py
./nnunetv2/tests/integration_tests/__init__.py
./nnunetv2/tests/integration_tests/run_integration_test_bestconfig_inference.py
./nnunetv2/tests/integration_tests/add_lowres_and_cascade.py
./nnunetv2/tests/integration_tests/cleanup_integration_test.py
## 6.0、验证模块
./nnunetv2/evaluation/accumulate_cv_results.py
./nnunetv2/evaluation/__init__.py
./nnunetv2/evaluation/find_best_configuration.py
./nnunetv2/evaluation/evaluate_predictions.py
参考:知乎
setup.py
可以使用pip install .
命令来安装nnunet v2
pyproject.toml
配置文件
[project]
name = "nnunetv2" # 项目名称
version = "2.5" # 版本
requires-pytho