[代码实现]UNet++之pytorch + 环境安装 + Brats2018 + 2D分割

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

 

2、datasets 准备数据

脑肿瘤数据集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
    ├── ...

 

3、train.py 训练

3.1 完善代码:

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)

 

3.2 运行代码:

即input/下的那个名字.

NestedUNet 即UNet++.

--image-ext即输入原始图片的格式;--mask-ext即输入标签图片的格式.

python train.py --dataset  --arch NestedUNet --image-ext png --mask-ext png

 

4、test.py 训练

4.1 完善代码

报错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)

 

4.2 运行代码:

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

你可能感兴趣的:(#,医学影像分割,深度学习,#,PyTorch,实战,深度学习)