PSMNet debug(三)

本文详细分析了PSMNet模型中stackhourglass模块的代码实现,包括convbn_3d函数、PSMNet类的初始化、以及hourglass模块的结构和前向传播过程。通过打印输出,展示了不同层的输出尺寸变化,揭示了网络中信息流程和特征处理的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

stackhourglass.py

1.

def convbn_3d(in_planes, out_planes, kernel_size, stride, pad):

    return nn.Sequential(nn.Conv3d(in_planes, out_planes, kernel_size=kernel_size, padding=pad, stride=stride,bias=False),
                         nn.BatchNorm3d(out_planes))

 

class PSMNet(nn.Module):
    def __init__(self, maxdisp):

      self.classif1 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                      nn.ReLU(inplace=True),
                                      nn.Conv3d(32, 1, kernel_size=3, padding=1, stride=1,bias=False))

        self.classif2 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                      nn.ReLU(inplace=True),
                                      nn.Conv3d(32, 1, kernel_size=3, padding=1, stride=1,bias=False))

        self.classif3 = nn.Sequential(convbn_3d(32, 32, 3, 1, 1),
                                      nn.ReLU(inplace=True),
                                      nn.Conv3d(32, 1, kernel_size=3, padding=1, stride=1,bias=False))

        print('stackhourglass classif1')
        print(out1.size()[0])
        print(out1.size()[1])
        print(out1.size()[2])
        print(out1.size()[3])
        print(out1.size()[4])
        cost1 = self.classif1(out1)
        print('stackhourglass classif1 cost1')
        print(cost1.size()[0])
        print(cost1.size()[1]) #通道2为32,classif1 (nn.Conv3d(32, 1)处理后变为1。
        print(cost1.size()[2])
        print(cost1.size()[3])
        print(cost1.size()[4])

打印结果:

stackhourglass classif1
1
32
48
96
312
stackhourglass classif1 cost1
1
1     
48
96
312

 

2.

 cost2 = self.classif2(out2) + cost1
        print('stackhourglass cost2')
        print(cost2.size()[0])
        print(c

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值