3D-SKIPDENSESEG医学图像分割

在这里插入图片描述
蓝色三角、黄色三角、红色三角相对应。
得到第三个feature map,绿色反卷积会恢复到原来的尺寸
Dense block,通道增加了
Transition,池化
在这里插入图片描述
用正则表达式把里面的h5文件匹配一下吧
os.path.join()把两个部分的路径拼一下
root_path —data_train
*.h5,不管名字是什么,只要后缀是h5,就把它匹配一下
glob,遍历所有.h5文件
得到data_train里面的八个subject
在这里插入图片描述
mode,数据集处理的是训练集or测试集or验证集,用一个标志位键区别一下。传进来的是train,就知道对training dataset进行一个处理
在这里插入图片描述
数据扩充,尽量保持原始数据
前提是训练数据,验证集不能扩充,验证集扩充,准确率就没有意义了
在这里插入图片描述
有可能传进来的,是对测试集和验证集处理
在这里插入图片描述
知道长度了,给我一个索引,返回一个训练样本
在这里插入图片描述
要转成64 * 64 * 64固定大小的patch
在这里插入图片描述
得到这样的数据
在这里插入图片描述

需要64 64 64,还需要什么,还需要一个batch_size,batch_size个patch,去掉一个维度
在这里插入图片描述
去掉第二个维度,其余不变
在这里插入图片描述
为什么记录长宽高,我们要从不固定大小的脑图像中裁patch
在这里插入图片描述
裁的开始位置是有讲究的
在这里插入图片描述
T1和T2两个特征,data_x不需要去维度了
在这里插入图片描述
cx是C的起始位置,cy是H的起始位置,cz是W的起始位置。0,1,2维度
在这里插入图片描述
为什么要随机裁,不从0开始
每一轮迭代的过程中,都希望从样本中取一个数据,每次从样本里取一个patch,如果每次从0开始取的话,就不能遍历脑图像的所有区域了。所以通过随机值的方式随机地取一个patch,如果训练轮数足够多的话,理论上是可以把闹图像的所有区域遍历到。
在这里插入图片描述

裁的开始位置是cx,结束位置,这个维度的
在这里插入图片描述
不直接传一个数字,往往我们需要64 48 32,所以体现这样写的用意了
在这里插入图片描述
为什么是0,限制返回的结果是一个,一条索引返回一个数据
batch_size的维度一定要相同,
在这里插入图片描述
验证集取中心位置,每一个iteration都是这个位置,验证集才有价值。如果每轮patch都在变的话,验证就失去价值了
在这里插入图片描述
模块注册
Sequential、ModuleList 自动注册
add_module 手动注册
在这里插入图片描述
在这里插入图片描述
调用父类的forward函数,就可以把这个流程跑一遍,是因为我们已经手动地把这些模块自动注册了
在这里插入图片描述
遍历每一个模块,如果是卷积操作的话,用正态分布这种初始化方式
在这里插入图片描述
为什么用ModuleList,它的索引是可以利用上的,第一轮循环的时候,i = 0的时候,放到upsampling list就是第一个元素,i = 1的时候,第二个元素,非常方便,通过它的索引去取,并且,取到的时候可以还原kernel_size的大小
在这里插入图片描述
在这里插入图片描述
通道从2到32
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值