在之前的这篇文章: 【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割2(基础数据流篇) 的结尾处,我们提到了在训练阶段遇到的下面这个问题:
在采用vent
模型进行3d
数据的分割训练任务中,输入大小是16*96*96
,这个的裁剪是放到Dataset
类里面裁剪下来的image
和mask
。但是在训练时候发现几个问题:
- 加载数据耗费了很长时间,从启动训练,到正式打印开始按batch循环,这段时间就有30分钟
batch=64, torch.utils.data.DataLoader
里面的num_workers=8
,训练总是到8的倍数时候,要停顿较长时间等待- 4个GPU并行训练的,GPU的利用率长时间为0,偶尔会升上去,一瞬间又为0
free -m
查看的内存占用,发现buff
和cache
会逐步飙升,慢慢接近占满