# block conv2 x = self.conv2(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv3 x = self.conv3(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv4 x = self.conv4(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv5 x = self.conv5(x) x = F.max_pool2d(x, 2, stride=2, padding=0) x = x.view(x.shape[0], -1) x = self.top(x) x = self.fc_out(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, VGG16())
stride=1) self.gap = torch.nn.AdaptiveAvgPool2d((1, 1)) def forward(self, x): x = F.relu(self.conv1(x)) x = F.relu(self.cccp1(x)) x = F.relu(self.cccp2(x)) x = F.max_pool2d(x, 3, stride=2, padding=0) x = torch.nn.Dropout()(x) x = F.relu(self.conv2(x)) x = F.relu(self.cccp3(x)) x = F.relu(self.cccp4(x)) x = F.max_pool2d(x, 3, stride=2, padding=0) x = torch.nn.Dropout()(x) x = F.relu(self.conv3(x)) x = F.relu(self.cccp5(x)) x = self.out(x) x = self.gap(x) x = x.view((x.shape[0], -1)) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, NIN())
x = self.resblock3_1(x) x = self.resblock3_2(x) x = self.resblock3_3(x) x = self.resblock3_4(x) x = self.resblock4_1(x) x = self.resblock4_2(x) x = self.resblock4_3(x) x = self.resblock4_4(x) x = self.resblock4_5(x) x = self.resblock4_6(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = self.resblock5_3(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNet34())
x = F.max_pool2d(x, 3, padding=1, stride=2) x = self.block1(x) x = self.transition1(x) x = self.block2(x) x = self.transition2(x) x = self.block3(x) x = self.transition3(x) x = self.block4(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, DenseNet264())
_modules['top_activation'] = Swish() self.top = torch.nn.Sequential(_modules) _modules = OrderedDict() _modules['top_class_GAP'] = torch.nn.AdaptiveMaxPool2d((1, 1)) if dropout_ratio > 0: _modules['top_class_dropout'] = torch.nn.Dropout2d(p=dropout_ratio) _modules['top_class_flatten'] = Flatten() _modules['top_class_linear'] = torch.nn.Linear(round_filters(1280), cfg.CLASS_NUM) self.top_class = torch.nn.Sequential(_modules) def forward(self, x): # stem x = self.stem(x) # blocks x = self.block(x) # top x = self.top(x) x = self.top_class(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': main(cfg, EfficientNet('B6'))
MobileNetBlock(96, 96), # 14 x 14 x 96 MobileNetBlock(96, 160, stride=2), MobileNetBlock(160, 160), MobileNetBlock(160, 160), # 7 x 7 x 160 MobileNetBlock(160, 320), # 7 x 7 x 320 torch.nn.Conv2d(320, 1280, kernel_size=1, padding=0, stride=1), torch.nn.BatchNorm2d(1280), torch.nn.ReLU6(), # 7 x 7 x 1280 torch.nn.AdaptiveAvgPool2d([1, 1]), Flatten(), # 1 x 1 x 1280 torch.nn.Linear(1280, cfg.CLASS_NUM), torch.nn.Softmax(dim=1)) def forward(self, x): x = self.module(x) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, MobileNet_v2())
x = F.max_pool2d(x, 3, padding=1, stride=2) x = self.resblock2_1(x) x = self.resblock2_2(x) x = self.resblock2_3(x) x = self.resblock3_1(x) x = self.resblock3s(x) x = self.resblock4_1(x) x = self.resblock4s(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = self.resblock5_3(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNet152())
x = self.transition1(x) x = self.block2(x) x = self.transition2(x) x = self.block3(x) x = self.transition3(x) x = self.block4(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, DenseNet121())
x = self.block3_4(x) x = self.block4_1(x) x = self.block4_2(x) x = self.block4_3(x) x = self.block4_4(x) x = self.block4_5(x) x = self.block4_6(x) x = self.block5_1(x) x = self.block5_2(x) x = self.block5_3(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNeXt50())
self.fc_out = torch.nn.Linear(4096, cfg.CLASS_NUM) def forward(self, x): x = F.relu(self.conv1(x)) x = torch.nn.modules.normalization.LocalResponseNorm(size=1)(x) x = F.max_pool2d(x, 3, stride=2, padding=1) x = F.relu(self.conv2(x)) x = torch.nn.modules.normalization.LocalResponseNorm(size=1)(x) x = F.max_pool2d(x, 3, stride=2, padding=1) x = F.relu(self.conv3(x)) x = F.relu(self.conv4(x)) x = F.relu(self.conv5(x)) x = F.max_pool2d(x, 3, stride=2) x = x.view(x.size()[0], -1) x = F.relu(self.fc1(x)) x = torch.nn.Dropout()(x) x = F.relu(self.fc2(x)) x = torch.nn.Dropout()(x) x = self.fc_out(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ZFNet())
super(LeNet, self).__init__() self.conv1 = torch.nn.Conv2d(cfg.INPUT_CHANNEL, 6, kernel_size=5, padding=0) self.conv2 = torch.nn.Conv2d(6, 16, kernel_size=5, padding=0) self.fc1 = torch.nn.Linear(16 * 5 * 5, 120) self.fc2 = torch.nn.Linear(120, 64) self.fc_out = torch.nn.Linear(64, cfg.CLASS_NUM) def forward(self, x): x = self.conv1(x) x = F.sigmoid(F.max_pool2d(x, 2)) x = self.conv2(x) x = F.sigmoid(F.max_pool2d(x, 2)) x = x.view(x.size()[0], -1) x = self.fc1(x) x = self.fc2(x) x = self.fc_out(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, LeNet())
#----- # 1/16 x 1/16 x 256 #----- MobileNetBlock(256, 512, stride=2), MobileNetBlock(512, 512, repeat=5), #----- # 1/32 x 1/32 x 1024 #----- MobileNetBlock(512, 1024, stride=2), MobileNetBlock(1024, 1024), #torch.nn.AvgPool2d([img_height // 32, img_width // 32], stride=1, padding=0), torch.nn.AdaptiveAvgPool2d([1, 1]), Flatten(), torch.nn.Linear(1024, cfg.CLASS_NUM), torch.nn.Softmax(dim=1)) def forward(self, x): x = self.module(x) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, MobileNet_v1())
x = self.transition1(x) x = self.block2(x) x = self.transition2(x) x = self.block3(x) x = self.transition3(x) x = self.block4(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, DenseNet169())
x = self.resblock3_1(x) x = self.resblock3_2(x) x = self.resblock3_3(x) x = self.resblock3_4(x) x = self.resblock4_1(x) x = self.resblock4s(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = self.resblock5_3(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNeXt101())
self.fc_out = torch.nn.Linear(4096, cfg.CLASS_NUM) def forward(self, x): x = F.relu(self.conv1(x)) x = torch.nn.modules.normalization.LocalResponseNorm(size=1)(x) x = F.max_pool2d(x, 3, stride=2) x = F.relu(self.conv2(x)) x = torch.nn.modules.normalization.LocalResponseNorm(size=1)(x) x = F.max_pool2d(x, 3, stride=2) x = F.max_pool2d(x, 2) x = F.relu(self.conv3(x)) x = F.relu(self.conv4(x)) x = F.relu(self.conv5(x)) x = x.view(x.size()[0], -1) x = F.relu(self.fc1(x)) x = torch.nn.Dropout()(x) x = F.relu(self.fc2(x)) x = torch.nn.Dropout()(x) x = self.fc_out(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, AlexNet())
# block conv2 x = self.conv2(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv3 x = self.conv3(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv4 x = self.conv4(x) x = F.max_pool2d(x, 2, stride=2, padding=0) # block conv5 x = self.conv5(x) x = F.max_pool2d(x, 2, stride=2, padding=0) x = x.view(x.shape[0], -1) x = self.top(x) x = self.fc_out(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, VGG19())
x = torch.add(x_sc, x) # Middle flow x = self.middle_flow(x) # Exit flow x_sc = self.conv_exit1_sc(x) x_sc = self.bn_exit1_sc(x_sc) x = self.conv_exit1(x) x = torch.add(x_sc, x) x = self.conv_exit2(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, Xception())
x = self.transition1(x) x = self.block2(x) x = self.transition2(x) x = self.block3(x) x = self.transition3(x) x = self.block4(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, DenseNet201())
x = self.resblock3_1(x) x = self.resblock3_2(x) x = self.resblock3_3(x) x = self.resblock3_4(x) x = self.resblock4_1(x) x = self.resblock4s(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = self.resblock5_3(x) x = F.avg_pool2d(x, [img_height // 32, img_width // 32], padding=0, stride=1) x = x.view(list(x.size())[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNet101())
x = self.resblock3_4(x) x = self.resblock4_1(x) x = self.resblock4_2(x) x = self.resblock4_3(x) x = self.resblock4_4(x) x = self.resblock4_5(x) x = self.resblock4_6(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = self.resblock5_3(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(x.size()[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNet50())
x = self.resblock2_1(x) x = self.resblock2_2(x) x = self.resblock3_1(x) x = self.resblock3_2(x) x = self.resblock4_1(x) x = self.resblock4_2(x) x = self.resblock5_1(x) x = self.resblock5_2(x) x = F.avg_pool2d(x, [cfg.INPUT_HEIGHT // 32, cfg.INPUT_WIDTH // 32], padding=0, stride=1) x = x.view(list(x.size())[0], -1) x = self.linear(x) x = F.softmax(x, dim=1) return x # main if __name__ == '__main__': model_save_dir = '/'.join(cfg.MODEL_SAVE_PATH.split('/')[:-1]) os.makedirs(model_save_dir, exist_ok=True) main(cfg, ResNet18())