xiaoyufenfei/LEDNet

输入尺寸和输出尺寸的问题

Opened this issue · 3 comments

我并没有看到在输入端把图像resize到1024512,仅仅是把短边等比例缩放到512,长边并没有固定到1024,为何输出的时候,就直接缩放到1024512呢?
class Decoder (nn.Module):
def init(self, num_classes):
super().init()

    self.apn = APN_Module(in_ch=128,out_ch=20)
    # self.upsample = Interpolate(size=(512, 1024), mode="bilinear")
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=4, stride=2, padding=1, output_padding=0, bias=True)
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=3, stride=2, padding=1, output_padding=1, bias=True)
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=2, stride=2, padding=0, output_padding=0, bias=True)

def forward(self, input):
    
    output = self.apn(input)
    out = interpolate(output, size=(512, 1024), mode="bilinear", align_corners=True)
    # out = self.upsample(output)
    # print(out.shape)
    return out

我并没有看到在输入端把图像resize到1024_512,仅仅是把短边等比例缩放到512,长边并没有固定到1024,为何输出的时候,就直接缩放到1024_512呢?
class Decoder (nn.Module):
def init(self, num_classes):
super().init()

    self.apn = APN_Module(in_ch=128,out_ch=20)
    # self.upsample = Interpolate(size=(512, 1024), mode="bilinear")
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=4, stride=2, padding=1, output_padding=0, bias=True)
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=3, stride=2, padding=1, output_padding=1, bias=True)
    # self.output_conv = nn.ConvTranspose2d(16, num_classes, kernel_size=2, stride=2, padding=0, output_padding=0, bias=True)

def forward(self, input):
    
    output = self.apn(input)
    out = interpolate(output, size=(512, 1024), mode="bilinear", align_corners=True)
    # out = self.upsample(output)
    # print(out.shape)
    return out

可以相互交流下不,我最近也在看这个,但是也有些问题,我的qq联系方式1602356172

Vieeo commented

LEDNet‘paras is 0.94M?Why I get 2.3M?About you?

HKQX commented

Resize函数会将另外一边按照原先图像比例乘以512 实际另外一边是2048%1024*512=1024,具体可以看函数说明