问题描述
由于github上源码data中的LA部分并不完整,而在运行train_mcnet_3d.py中,在dataset中的class LAHeart里的get_item属性中的这一行报错,采坑记录。
Step 1:
由于LA部分数据不全,因此去网上找LA数据集的官网,下载该数据集补充到LA文件夹中。该网址即可下载:2018 Atria Segmentation Data – Cardiac Atlas Project
下载完成后看到该目录下有分别一下几个文件:
因此首先想到的就是运行预处理这个py文件,发现运行完这个文件后,会生成一个名为UTAH Test set的文件夹,在该文件夹下保存了一个存储Training Set文件夹中image, label,均值以及方差的h5文件。
再回头去看train_mcnet_3d.py中,在dataset中的class LAHeart里的get_item属性里面的逻辑发现还是不对,因为该行代码是要在DataLoader中迭代的进行读取,而非该预处理中生成的这个一个h5文件就可满足,因此错不在此。
Step 2:
脑子也是迷糊,这么简单的东西愣是找了一个多钟。仔细看才发现在该路径下存在LA预处理的一个py文件。
运行该文件即可得到在train.list列表中的每一项文件夹中都生成了一个mri_norm2.h5文件,再把2017La_Seg_Training Set 改为 Training Set, 问题解决。