4 Copyright (c) 2019-present NAVER Corp.
8 from __future__
import absolute_import
12 import torch.nn.functional
as F
14 from craft.basenet.vgg16_bn
import init_weights
15 from craft.basenet.vgg16_bn
import vgg16_bn
22 nn.Conv2d(in_ch + mid_ch, mid_ch, kernel_size=1),
23 nn.BatchNorm2d(mid_ch),
24 nn.ReLU(inplace=
True),
25 nn.Conv2d(mid_ch, out_ch, kernel_size=3, padding=1),
26 nn.BatchNorm2d(out_ch),
36 def __init__(self, pretrained=False, freeze=False):
50 nn.Conv2d(32, 32, kernel_size=3, padding=1), nn.ReLU(inplace=
True),
51 nn.Conv2d(32, 32, kernel_size=3, padding=1), nn.ReLU(inplace=
True),
52 nn.Conv2d(32, 16, kernel_size=3, padding=1), nn.ReLU(inplace=
True),
53 nn.Conv2d(16, 16, kernel_size=1), nn.ReLU(inplace=
True),
54 nn.Conv2d(16, num_class, kernel_size=1),
70 y = torch.cat([sources[0], sources[1]], dim=1)
75 size=sources[2].size()[
79 y = torch.cat([y, sources[2]], dim=1)
84 size=sources[3].size()[
88 y = torch.cat([y, sources[3]], dim=1)
93 size=sources[4].size()[
97 y = torch.cat([y, sources[4]], dim=1)
102 return y.permute(0, 2, 3, 1), feature
105 if __name__ ==
'__main__':
106 model =
CRAFT(pretrained=
True).cuda()
107 output, _ =
model(torch.randn(1, 3, 768, 768).cuda())