RFBNet icon indicating copy to clipboard operation
RFBNet copied to clipboard

In class BasicRFB_a

Open DonghoonPark12 opened this issue 5 years ago • 1 comments

In class RFB_a branch_3 below block is different from original paper.

 self.branch3 = nn.Sequential(
     BasicConv(in_planes, inter_planes // 2, kernel_size=1, stride=1),
     BasicConv(inter_planes // 2, (inter_planes // 4) * 3, kernel_size=(1, 3), stride=1, padding=(0, 1)),
     BasicConv((inter_planes // 4) * 3, inter_planes, kernel_size=(3, 1), stride=stride, padding=(1, 0)),
     BasicConv(inter_planes, inter_planes, kernel_size=3, stride=1, padding=5, dilation=5, relu=False)
 )

I think this should be like

 self.branch3 = nn.Sequential(
      BasicConv(in_planes, inter_planes, kernel_size=1, stride=1),
      BasicConv(inter_planes, inter_planes, kernel_size=3, stride=1, padding=1),
      BasicConv(inter_planes, inter_planes, kernel_size=3, stride=1, padding=5, dilation=5, relu=False)
)

Is there any meaning in your work? For example, It occurs better result or there are some issues, etc. (Anyway why _a? , '_s' is original paper express...)

Thanks

DonghoonPark12 avatar Oct 14 '19 05:10 DonghoonPark12

Actually,

In class BasicRFB, below code is also different from the original paper. I think you did to reduce the number of parameters. I guess.

        self.branch0 = nn.Sequential(
                BasicConv(in_planes, 2*inter_planes, kernel_size=1, stride=stride),
                BasicConv(2*inter_planes, 2*inter_planes, kernel_size=3, stride=1, padding=visual, dilation=visual, relu=False)
                )
        self.branch1 = nn.Sequential(
                BasicConv(in_planes, inter_planes, kernel_size=1, stride=1),
                BasicConv(inter_planes, 2*inter_planes, kernel_size=(3,3), stride=stride, padding=(1,1)),
                BasicConv(2*inter_planes, 2*inter_planes, kernel_size=3, stride=1, padding=visual+1, dilation=visual+1, relu=False)
                )
        self.branch2 = nn.Sequential(
                BasicConv(in_planes, inter_planes, kernel_size=1, stride=1),
                BasicConv(inter_planes, (inter_planes//2)*3, kernel_size=3, stride=1, padding=1),
                BasicConv((inter_planes//2)*3, 2*inter_planes, kernel_size=3, stride=stride, padding=1),
                BasicConv(2*inter_planes, 2*inter_planes, kernel_size=3, stride=1, padding=2*visual+1, dilation=2*visual+1, relu=False)
                )

        self.ConvLinear = BasicConv(6*inter_planes, out_planes, kernel_size=1, stride=1, relu=False)

DonghoonPark12 avatar Oct 14 '19 06:10 DonghoonPark12