来这里寻找你的答案!

  • 一、写在前面
  • 二、GITHUB ISSUE
    • I. 使用上的问题:
      • #477 《3D nnUNet支持FP16量化吗?》
      • #474 《ImportError: cannot import name find_namespace_packages》
      • #471 《我怎么在本地评估一些预训练模型的指标呢?》
      • #469 《无任何报错的进程死亡》
      • #464 《如何对PET进行归一化》
      • #459 《`orientation`这个属性在nnUNet里起作用吗?》
      • #456 《cannot import name 'SpatialTransform_2' from 'batchgenerators.transforms'》
      • #454 《能给个自己编译pytorch解决2d训练问题的教程吗?》
      • #449 《前景多标签有重叠情况怎么解决?》
      • #446 《在用多GPU训练以后发现推理时候报错》
      • #437 《在Microsoft Azure VM Instance虚拟机中存在的一个bug》
      • #427 《nnUNet能不能使用cupy来加速预处理过程呢?》
      • #425 《当生成的patch_size大于图像本身的时候会发生什么?》
      • #424 《能直接把预处理以后的npz文件的patch抽出来在我的新模型上进行训练吗?》
      • #423 《想在你的模型中添加新的网络块,应该怎么做?》
      • #422 《使用find_best_configuration时npz丢失》
      • #421 《cuda10.0+torch1.2可以训练吗?》
      • #420 《怎么训练2D图片?》
      • #417 《推理时间特别慢(32g的RAM)》
      • #416 《在docker中运行nnUNet遇到错误`RuntimeError: MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of your workers crashed. This is not the actual error message! Look further up your stdout to see what caused the error. Please also check whether your RAM was full`》
      • #322 《关于修改最大轮数》
      • #321 《在执行plan_preprocess的时候卡住》
      • #318 《12GB的显存仍然不够的问题》
      • #312 《混合精度问题(TypeError: predict_preprocessed_data_return_seg_and_softmax() got an unexpected keyword argument 'mixed_precision')》
      • #311 《训练时找不到预处理文件夹》
      • #310 《"Segmentation fault (core dumped)"》
      • #309《"RuntimeError: CUDA error: device-side assert triggered"》<---(Non-consecutive labels within ground truth )
      • #304《1000的epoch太多了,我怎么自定义一个epoch?》
      • #302《训练第一个fold的时候正常,但是其他四个fold的训练损失是NaN》
      • #299《五折产生五个fold,每个训练出一个模型,怎么把这五个合成一个模型呢?》
      • #297《简单修改了batchsize和patchsize并不成功,目的是希望在32GB的显卡上充分利用显存》
      • #296《"TypeError: consolidate_folds() got an unexpected keyword argument 'folds'"》
      • #295《"AttributeError: 'list' object has no attribute 'size'"(推理时候卡住并报错)》
      • #290《预测时候卡主卡了一天没有反应》
      • #288《怎么使用FabiansUNet,而不是默认的generic_Unet》
      • #281《关于怎么评估模型测试结果》
      • #280《怎么关闭deep-supervision》
      • #273《代码中的"softmax_helper"相比torch中的"torch.nn.functional.softmax"有什么优点》
      • #271《怎么读取权重(找不到权重文件)》
      • #270《怎么在预训练模型的基础上加入一些新的数据以提高模型泛化能力?》
      • #268《训练数据有四个通道(而不是五个),最后一个通道是一个二进制的map(应该是五个通道时候的xy合并在一起的),怎么应用数据增强》
      • #263《有些测试CT推理不出来,有些CT推理出来啥也没有》
      • #259《同样的数据集,为什么我的训练结果没有作者论文里的效果好呢?》
      • #258《关于推理速度如此之慢的问题》
      • #257《nnUNet怎么对预处理好的文件进行推理》
    • II. 理论上的问题:
      • #430《一种nnUNet的改进方向》
      • #470《nnUNet可以进行一些dense-connection的改进吗?》
      • #303《nnUNet是怎么在做强度归一化》
      • #265《关于利用crop来生成前景boundingbox的问题》
    • III. 代码上的问题:
      • #313 《AttributeError: 'NoneType' object has no attribute 'is_alive'》
      • #294《"RuntimeError: unable to write to file "》
      • #291 《AttributeError: 'NoneType' object has no attribute 'is_alive'》(与#313的问题一样)
      • #267 《TypeError: validate() got an unexpected keyword argument 'force_separate_z'》

一、写在前面

1. 发现最近大家的问题有很多,有部分是理论上的问题。但是很多还只是框架使用上的问题,其实个人觉得整个框架就现在来说已经相当的成熟,为了有一个类似于github的issue总结的地方,我希望去写一片问题总结的博客还是具有相当大的意义,一方面处于对工作学习内容的总结,一方面有个很好的反馈问题查找答案的地方。我会慢慢更新到最开始的位置。
       
2. 本篇博客总结的内容包括三个来源:

  • ① GITHUB:我会从github的issue界面这里进行全面的检索和内容精要的提取,主要是已经关闭的issue。按照由今至古的时间线进行,同时会将内容分为如下三类:

    • I. 使用上的问题:主要是使用过程出现的问题总结;
    • II. 理论上的问题: 涉及到理论的新颖知识,基本的概念或常识;
    • III. 代码上的问题:算法的代码实现,以及一些可能存在的bug。
  • ② 个人使用经验:总结我在使用nnUNet过程中出现的问题和解决方案。
  • ③ 访客问题:总结大家向我提出的问题,只会涉及到我之前没有遇到过也没有时间常识解决且GITHUB上暂时没有提到的问题。

3. 笔者希望各位看官在方便自己工作学习的同时,也能为贡献自己的一份力,我们距离德国的医疗卫生水平还有着巨大的鸿沟式的差距,人生在世,总得留下点有价值的东西,无论出于什么目的,大家一起加油,不忘初心。


二、GITHUB ISSUE

I. 使用上的问题:

#477 《3D nnUNet支持FP16量化吗?》

#474 《ImportError: cannot import name find_namespace_packages》

#471 《我怎么在本地评估一些预训练模型的指标呢?》

#469 《无任何报错的进程死亡》

#464 《如何对PET进行归一化》

#459 《orientation这个属性在nnUNet里起作用吗?》

#456 《cannot import name ‘SpatialTransform_2’ from ‘batchgenerators.transforms’》

#454 《能给个自己编译pytorch解决2d训练问题的教程吗?》

#449 《前景多标签有重叠情况怎么解决?》

#446 《在用多GPU训练以后发现推理时候报错》

#437 《在Microsoft Azure VM Instance虚拟机中存在的一个bug》

#427 《nnUNet能不能使用cupy来加速预处理过程呢?》

#425 《当生成的patch_size大于图像本身的时候会发生什么?》

#424 《能直接把预处理以后的npz文件的patch抽出来在我的新模型上进行训练吗?》

#423 《想在你的模型中添加新的网络块,应该怎么做?》

#422 《使用find_best_configuration时npz丢失》

#421 《cuda10.0+torch1.2可以训练吗?》

#420 《怎么训练2D图片?》

#417 《推理时间特别慢(32g的RAM)》

#416 《在docker中运行nnUNet遇到错误RuntimeError: MultiThreadedAugmenter.abort_event was set, something went wrong. Maybe one of your workers crashed. This is not the actual error message! Look further up your stdout to see what caused the error. Please also check whether your RAM was full

#322 《关于修改最大轮数》

#321 《在执行plan_preprocess的时候卡住》

#318 《12GB的显存仍然不够的问题》

#312 《混合精度问题(TypeError: predict_preprocessed_data_return_seg_and_softmax() got an unexpected keyword argument ‘mixed_precision’)》

#311 《训练时找不到预处理文件夹》

#310 《“Segmentation fault (core dumped)”》

#309《“RuntimeError: CUDA error: device-side assert triggered”》<—(Non-consecutive labels within ground truth )

#304《1000的epoch太多了,我怎么自定义一个epoch?》

#302《训练第一个fold的时候正常,但是其他四个fold的训练损失是NaN》

#299《五折产生五个fold,每个训练出一个模型,怎么把这五个合成一个模型呢?》

#297《简单修改了batchsize和patchsize并不成功,目的是希望在32GB的显卡上充分利用显存》

#296《“TypeError: consolidate_folds() got an unexpected keyword argument ‘folds’”》

#295《“AttributeError: ‘list’ object has no attribute ‘size’”(推理时候卡住并报错)》

#290《预测时候卡主卡了一天没有反应》

#288《怎么使用FabiansUNet,而不是默认的generic_Unet》

#281《关于怎么评估模型测试结果》

#280《怎么关闭deep-supervision》

#273《代码中的"softmax_helper"相比torch中的"torch.nn.functional.softmax"有什么优点》

#271《怎么读取权重(找不到权重文件)》

#270《怎么在预训练模型的基础上加入一些新的数据以提高模型泛化能力?》

#268《训练数据有四个通道(而不是五个),最后一个通道是一个二进制的map(应该是五个通道时候的xy合并在一起的),怎么应用数据增强》

#263《有些测试CT推理不出来,有些CT推理出来啥也没有》

#259《同样的数据集,为什么我的训练结果没有作者论文里的效果好呢?》

#258《关于推理速度如此之慢的问题》

  • 1. 我有话说:推理的时间问题在我看来主要来自于三个方面:

    • ① 数据预处理的时间:预处理的时间分为crop的时间和插值的时间,所用的库都是skimage,可以说是相当的慢,层数较多的时候甚至会10min以上预处理一次。个人建议,将代码中的插值算法从ndimage换成torch的插值算法,基本在几秒内完成插值。
    • ② 镜像计算的时间:也就是数据增强的时间,在3d的模式中,每次要做8次的镜像,然后每个都要推理,关闭镜像可以把这部分时间减少很多;
    • ③ patch的迭代和推理时间:这是为什么推理时间那么长的根本原因,因为一个patch要0.3s左右的时间,但是一套ct上会有上百个patch,时间成本自然也就上去了。我尝试过libtorch的推理,看下时间有没有减少,发现也没有什么大的改观;尝试过tensorRT的加速,但是出现3d卷积核的问题至今没能解决。有想法的可以试一下。

#257《nnUNet怎么对预处理好的文件进行推理》

II. 理论上的问题:

#430《一种nnUNet的改进方向》

#470《nnUNet可以进行一些dense-connection的改进吗?》

#303《nnUNet是怎么在做强度归一化》

           if scheme == "CT":# clip to lb and ub from train data foreground and use foreground mn and sd from training dataassert self.intensityproperties is not None, "ERROR: if there is a CT then we need intensity properties"mean_intensity = self.intensityproperties[c]['mean']std_intensity = self.intensityproperties[c]['sd']lower_bound = self.intensityproperties[c]['percentile_00_5']upper_bound = self.intensityproperties[c]['percentile_99_5']data[c] = np.clip(data[c], lower_bound, upper_bound)data[c] = (data[c] - mean_intensity) / std_intensityif use_nonzero_mask[c]:data[c][seg[-1] < 0] = 0

#265《关于利用crop来生成前景boundingbox的问题》

III. 代码上的问题:

#313 《AttributeError: ‘NoneType’ object has no attribute ‘is_alive’》

#294《“RuntimeError: unable to write to file </torch_15769_1517813162>”》

#291 《AttributeError: ‘NoneType’ object has no attribute ‘is_alive’》(与#313的问题一样)

#267 《TypeError: validate() got an unexpected keyword argument ‘force_separate_z’》

(十七:2020.09.10)nnUNet最全问题收录(9.10更新)相关推荐

  1. RDKit | 基于RDKit(≥2020.09.1)的相似图绘制新方法

    导入库 from rdkit import Chem from rdkit.Chem import Draw from rdkit.Chem.Draw import SimilarityMaps fr ...

  2. 2020年十月蓝桥杯A组题解【10月17日】【附完整代码】

    填空1 题意:输出1到2020之中,数字2出现了一共多少次. 题解:有手就行 用时:3min 正确答案:624 代码: #include <bits/stdc++.h> using nam ...

  3. android10全面屏手势 操作图,丨系统设计丨ZUI 10加入更多全面屏手势

    丨系统设计丨ZUI 10加入更多全面屏手势 系统方面,联想Z5 Pro GT搭载了ZUI 10系统.总的来说这代系统主要是的改观是:以"全面屏"为核心体验加入属于ZUI特有的&qu ...

  4. 2020 Ohayoo游戏开发者沙龙成都站将于10月22日正式启动

    2020 Ohayoo游戏开发者沙龙成都站将于10月22日正式启动 10月22日起,Ohayoo将在成都.厦门.广州.北京.上海等多个城市举办"2020 Ohayoo游戏开发者沙龙" ...

  5. 华为大手机 m3 linux,华为平板 M3(青春版10.1英寸 全网通)手机完美获取root教程,最强root工具,亲测可用!...

    想要快速获取root权限,就用奇兔刷机.伴随着安卓刷机越来越流行,很多安卓用户都喜欢上了这种可以自定个性系统的行为,那么华为平板 M3(青春版10.1英寸 全网通)怎么ROOT?华为平板 M3(青春版 ...

  6. 2018麦考林杂志计算机科学,2020年麦考林杂志排名全解析

    原标题:2020年麦考林杂志排名全解析 上周在广大同胞们热烈庆祝阿中哥哥70周年生日的期间,加拿大麦考林杂志(Maclean's)悄咪咪地更新了2020年加拿大大学排名!2020年9月入学季的小朋友们 ...

  7. cf12月9日服务器维护时间,cf12月9、10日全区全服维护更新公告_穿越火线更新公告_7k7k穿越火线...

    cf12月9.10日维护更新公告 更新日期:2016-01-02     来源:7k7k     作者:7k7k挽歌 12月9.10日全区全服维护更新公告(已完成) 2015-12-08 23:34: ...

  8. 华为cmr一al09升级鸿蒙,华为平板 M5 10.8英寸 全网通(CMR-AL09)一键刷机教程,看教程秒懂刷机...

    智能手机刷机相信大家已经都不再陌生了,不过对待华为平板 M5 10.8英寸 全网通(CMR-AL09)刷机还是需要非常谨慎操作,因为不当的刷机方法可能导致系统崩溃,带来很大的麻烦.由于不同品牌不同型号 ...

  9. 2020数学复习全书习题全解【数学一】-李正元

    2020数学复习全书习题全解[数学一]-李正元 链接: https://pan.baidu.com/s/1hq2JmXqfNAr8fes3t0z–w 提取码: fxkp 复制这段内容后打开百度网盘手机 ...

最新文章

  1. java servlet 路径_JavaServlet 路径书写总结
  2. c语言%f小数位第六位是错的,c语言中输出浮点型数据,如果不指定输出位数,%f输出几位小数?...
  3. win10系统运行python虚拟环境执行ll_env\Scripts\activate : 无法加载文件的解决方法(亲测有效)
  4. 高级用户 java_java高级-基本
  5. Leetcode--23.合并K个排序链表(Java)
  6. 如何使用Airdrop将视频从Mac发送到iPhone?
  7. R语言初级教程: NA、Inf、NaN、NULL 特殊值
  8. 【网摘】ActiveX组件及其注册
  9. WIN7Activation激活WIN7教程
  10. axios get请求中文乱码
  11. 虚拟机无法ping通物理机解决方案
  12. 十五、Fluent湿空气模拟-组分输运模型
  13. jsBlob数据转为图片
  14. 计算机一级vlookup函数的使用方法,电子档Excel中vlookup函数的使用方法(图解详细说明)...
  15. Android 8.0 - AccountManager之行为变更
  16. python排序输出人名,005_015 Python 人名按字母排序,首字母分组
  17. opencv贾老师系列17——人脸识别实战
  18. PTA 直捣黄龙(30分)
  19. 南京网预赛 11 BY bly
  20. mysql靶场_BWVS靶场搭建

热门文章

  1. Android 使用RecyclerView 实现 tag 展示
  2. 涉密信息系统处理安全问题
  3. WeChat---小程序知识点总结
  4. redis console 操作命令
  5. 人工智能如何支持公司的可持续发展?
  6. 科技向善•共同富裕,数字经济风口上的中国建筑供应链发展趋势
  7. 人体是这样练的吗?想必你一开始就错了
  8. PyTorch学习之十种优化函数
  9. 上海数字孪生智能工厂,数字工厂智能车间建设,3d可视化工业建模,三维数据交互系统开发
  10. Word中公式后面添加编号后,公式字体变小