import torchimport torch.nn as nnimport torch.nn.functional as Ffrom torchsummary import summaryclass DigitalLetterNet(nn.Module):def __init__(self, in_chs, out_chs, fcn=False):super(DigitalLetterNet, self).__init__()self.in_chs = in_chsself.out_chs = out_chsself.fcn = fcnself.conv = nn.Sequential(nn.Conv2d(self.in_chs, 16, 5, padding=2),nn.ReLU(True),nn.MaxPool2d(2),nn.Conv2d(16, 32, 3, padding=1),nn.ReLU(True),nn.BatchNorm2d(32),nn.MaxPool2d(2),nn.Conv2d(32, 64, 3, padding=1),nn.ReLU(True),nn.MaxPool2d(2),nn.Conv2d(64, 128, 3, padding=1),nn.ReLU(True),nn.MaxPool2d(2),nn.Conv2d(128, 256, 3, padding=1),nn.ReLU(True),nn.MaxPool2d(2),)if self.fcn:self.classifier = nn.Conv2d(256, self.out_chs, 1)else:self.classifier = nn.Linear(256, self.out_chs)def forward(self, x):x = self.conv(x)if not self.fcn:x.squeeze_()x = self.classifier(x)if self.fcn:x.squeeze_()x = F.log_softmax(x, dim=-1)return x# just for testif __name__ == '__main__':dl_net = DigitalLetterNet(3, 36, True)print(summary(dl_net, (3, 32, 32), device='cpu'))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。