模型搭建零碎小知识点

1、cascade级联和concatenate串联区别是什么?
级联将上一系统的输出作为下一系统的输入, 串联将两个系统的输出相加.
2、torch.view()
非常有用,决定以什么形状改变tensort temp.view(N,-1)
3、pytorch 二维卷积输入形状:
输入:(b,c,w,h), 输出同样(b,c,w,h)
4、接上,计算dice
“”"
:param output: (BS, outchannel, Z, Y, X)
:param targets: (BS, class_num,Z, Y, X)
“”"
def forward(self, input, target):
N = target.size(0)
smooth = 1
# 以什么形状输出
input_flat = input.view(N, -1)
target_flat = target.view(N, -1)

    intersection = input_flat * target_flat

    loss = 2 * (intersection.sum(1) + smooth) / (input_flat.sum(1) + target_flat.sum(1) + smooth)
    loss = 1 - loss.sum() / N

    return loss

5、在resize,zoom的时候,GT没用进行归一化也就是把范围(0,255) 缩放到(0,1) 的时候,插值算法一定要选择最近邻算法,不然GT的值会乱。。。而且好像也没别的办法改变其值,因为transform要求数据类型是PIL的Image,但是image范围是(0,255),所有无法改变其值,在归一化之前只能最近邻。
6、transforms数据增强之后,要进行ToTensor和normalize,ToTensor会将image的shape改变为:从h,w,c -> c,w,h,并将每一个数值归一化到[0,1],其归一化方法比较简单,直接除以255即可。 torch.tensorfloat(),如果一通道,会squence,要torch.tensorfloat().nosquence.
7、样本总数:len(train_dataloader.dataset)。每一次epcoh: len(train_dataloader)
DC = DC / len(train_dataloader.dataset)
avg_loss = epoch_loss / len(train_dataloader)
8、输入网络进行训练 int(256 * aspect_ratio) - int(256 * aspect_ratio) % 16 或者 int((256 * aspect_ratio)/16)*16,在unet中防止遇到四次下采样和四次上采样除不尽的情况,然后下采样除不尽会向下取整,上采样除不尽会向上取整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值