nnunet(十二)inference example Prostate

https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/inference_example_Prostate.md

Example: inference with pretrained nnU-Net models

这是一个循序渐进的示例,说明如何使用预先训练好的nnU-Net模型在Medical segmentnation Decathlon的Prostate数据集上运行inference 。

  1. 参照此处安装nnunet,确保所有路径都是对的,这一步是nnunet需要知道 raw data, preprocessed data and trained models数据存放在哪。
  2. 下载 Prostate  dataset of the Medical Segmentation Decathlon数据集,并且解压缩到指定文件夹。
  3. 我们为这个例子选择了Prostate 数据集,因为我们有一个将测试数据转换为正确格式的实用程序脚本。Decathlon 数据采用4D niftis。这与nnU-Net不兼容,所以需要数据转换
    nnUNet_convert_decathlon_task -i /xxx/Task05_Prostate
    
    要注意Task05_Prostate文件夹中必须包含'imagesTr', 'labelsTr', 'imagesTs'三个子文件夹。 $nnUNet_raw_data_base/nnUNet_raw_data中存储转换后的数据, $nnUNet_raw_data_base是安装的时候指定的原始数据存放目录
  4. 使用以下命令下载预训练模型
    nnUNet_download_pretrained_model Task005_Prostate
    

     

  5. prostate 数据集需要两种图像形式作为输入。这很像liKE RGB图像有三个颜色通道。nnU-Net通过文件的结尾来识别形式:因此,prostate 数据集的单个测试数据由两个文件组成case_0000.nii.gz and case_0001.nii.gz,每个文件都是一个3D图像。以0000.nii.gz结尾的文件是T2 image和0001.nii.gz结尾的文件是 ADC image。当您使用预训练模型时,您可以使用:
    nnUNet_print_pretrained_model_info Task005_Prostate
    
    Prostate 的输出如下:
    Prostate Segmentation. 
     Segmentation targets are peripheral and central zone, 
     input modalities are 0: T2, 1: ADC. 
     Also see Medical Segmentation Decathlon, http://medicaldecathlon.com/
  6. 我们在3)中运行的脚本自动地为我们转换测试数据并将它们存储在$nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs中,请注意,当使用非Medcial Segmentation Decathlon datasets时,需要自己进行这种转换。这样做很容易(如果只有一种模态,通常只需在文件名后面附加_0000即可),参照此处
  7. 您可以使用预训练模型预测Prostate 测试数据。我们在此处展示使用3D full resoltion U-Net的示例:
    nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY -t 5 -m 3d_fullres
    
    注意,-t 5指定id为5的任务(对应于Prostate 数据集)。您还可以给出完整的任务名称Task005_Prostate。OUTPUT_DIRECTORY是保存分割结果的地方。预测应该很快,几分钟就会预测完成。如果你想加速它(以稍低的分割质量为代价),你可以通过设置——disable_tta标志(8倍加速)禁用测试时间数据增强。如果这对您来说仍然太慢,您可以通过指定- f0来考虑只使用单个模型而不是集成。这将只使用交叉验证的fold 0训练过的模型来获得另一个5倍的加速。
  8. 如果你想使用不同U-Net配置的集合进行推断,你需要运行以下命令:

用3d full resolution U-Net进行预测(这个命令和上面的稍有不同)。

nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY_3D -t 5 --save_npz -m 3d_fullres

2D U-Net预测

nnUNet_predict -i $nnUNet_raw_data_base/nnUNet_raw_data/Task005_Prostate/imagesTs/ -o OUTPUT_DIRECTORY_2D -t 5 --save_npz -m 2d

--save_npz会告诉nnU-Net也存储用于合并的softmax概率。

然后你就可以把预测合并:

nnUNet_ensemble -f OUTPUT_DIRECTORY_3D OUTPUT_DIRECTORY_2D -o OUTPUT_FOLDER_ENSEMBLE -pp POSTPROCESSING_FILE

这将合并来自OUTPUT_DIRECTORY_2D和OUTPUT_DIRECTORY_3D的预测。-pp POSTPROCESSING_FILE(可选!)是一个提供nnU-Net关于如何后处理集成的信息的文件。这些文件也作为预训练模型权重的一部分下载,并位于RESULTS_FOLDER/nnUNet/ensembles/ Task005_Prostate/ensemble_2d__nnUNetTrainerV2__nnUNetPlansv2.1—3d_fullres__nnUNetTrainerV2__nnUNetPlansv2.1/ postprocess. json。作者将在未来的版本中(很快!)使后处理文件更容易访问

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
变分推断是一种用于近似求解复杂概率模型后验概率分布的技术。在贝叶斯统计中,我们希望从观测数据推断出最有可能的模型参数。然而,在大多数情况下,由于模型复杂性和计算复杂度的限制,我们很难直接计算后验分布。这时候,变分推断能够通过引入一个简化的概率分布来近似后验分布。 变分推断的基本思想是为原始贝叶斯问题构造一个等价的变分问题,并通过最小化两者之间的差异来求解。具体而言,它假设一个简单的参数化概率分布(即变分分布),并试图通过调整分布参数来使其尽可能接近真实后验。 为了找到最优的变分分布,变分推断利用变分推理和优化方法进行迭代求解。在每次迭代中,它通过最大化变分推理下界来逼近后验分布。这个下界称为证据下界或ELBO(证据下界)。 变分推断的优点在于它可以同时处理大规模和高复杂度的模型,而且能够处理连续和离散变量的混合问题。它还可以灵活地处理缺失数据并处理不同类型数据之间的关联。 然而,变分推断也有其局限性。首先,变分分布选择是一个挑战,如果选择的分布偏离真实后验分布,可能导致近似结果的偏差。其次,变分推断通常需要计算复杂度高且对初始参数值敏感的迭代求解。因此,它可能无法在所有情况下提供最优的近似解。 综上所述,变分推断是一种强大的近似推理方法,可以用于处理复杂概率模型的后验分布。它在计算效率和模型灵活性方面具有一定优势,但同时也存在某些局限性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值