UNet++解读:链接
我修改后的代码(运行OK): 链接
原始代码: 链接
1、env 环境的安装
windows10 64 bits、nvidia驱动、CUDA8.0、cudnn、anaconda
打开命令窗口, 分别输入以下指令:
conda create -n NestedUnetTorch python=3.6
conda activate NestedUnetTorch
pip install simpleitk
pip install opencv-python==3.4.2.16
pip install scipy
pip install scikit-learn==0.20
pip install scikit-image==0.14
conda install numpy mkl cffi
安装pytorch,选择与cuda版本对应的进行安装,参考链接如下: 链接
conda install torchvision -c pytorch
conda install Pillow=6.1
conda install tqdm
报错: ImportError: cannot import name '_validate_lengths', 由于numpy版本过高,升级下 pip install -U scikit-image 即可
conda install pandas
脑肿瘤数据集BraTs2018
链接:https://pan.baidu.com/s/1Ry41OVl9VLOMzhQQR9qXuA
提取码:qvmo
将training set(HGG、LGG)和 validation分别切片,并将训练集按以下格式要求放进工程目录的input文件夹里面:
├── images
| ├── 0a7e06.jpg
│ ├── 0aab0a.jpg
│ ├── 0b1761.jpg
│ ├── ...
|
└── masks
├── 0a7e06.png
├── 0aab0a.png
├── 0b1761.png
├── ...
1、代码缺了如下内容,在开头加入:
from sklearn.externals import joblib
import pandas as pd
2、此外,我这里切片后的image和mask的位数都为8位.所以导致skimage.io.imread读入的图片的shape都是两个通道,而代码中的transpose((2, 0, 1))是需要三个通道才能执行,否则 axes don't match array in pytorch报错.修改的办法就是在datasets.py里的image = image.transpose((2, 0, 1))之前加入如下代码使得它变为三个通道.
image = color.gray2rgb(image)
NestedUNet 即UNet++.
--image-ext即输入原始图片的格式;--mask-ext即输入标签图片的格式.
python train.py --dataset --arch NestedUNet --image-ext png --mask-ext png
报错RuntimeError: Given groups=1, weight[32, 3, 3, 3], so expected input[16, 1, 240, 240] to have 3 channels, but got 1 channels instead
解决办法在datasets.py里的image = image.transpose((2, 0, 1))之前加入如下代码使得它变为三个通道.(如果前面已经加了,这里忽略)
image = color.gray2rgb(image)
1、代码缺了如下内容,在开头加入:
from sklearn.externals import joblib
2、选择models文件下的模型进行valuate:
python test.py --name _NestedUNet_woDS
https://blog.csdn.net/qq_25827067/article/details/103260179?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task