Пример #1
0
        # 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())
Пример #2
0
                                   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())
Пример #3
0
        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())
Пример #9
0
        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())
Пример #10
0
        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())
Пример #17
0
        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())
Пример #18
0
        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())