Пример #1
0
from torch.utils.tensorboard import SummaryWriter
import torchvision

if __name__ == '__main__':
    opt = gather_options()
    print_options(opt)

    device = torch.device('cuda:{}'.format(
        opt.gpu_ids[0])) if opt.gpu_ids else torch.device('cpu')

    trainloader, testloader = loadData(opt)
    dataset_size = len(trainloader)
    print('#training images = %d' % dataset_size)

    net = Resnet(opt.input_nc,
                 num_classes=opt.num_classes,
                 norm=opt.norm,
                 nl=opt.nl)
    net = init_net(net, init_type='normal', gpu_ids=[0])

    if opt.continue_train:
        load_networks(opt, net)

    criterion = nn.CrossEntropyLoss().to(device)
    optimizer = torch.optim.SGD(net.parameters(), lr=opt.lr, momentum=0.9)
    scheduler = get_scheduler(optimizer, opt)

    iter = 0
    running_loss = 0.0
    correct = 0.0
    total = 0
Пример #2
0
            gamma=0.1,
            last_epoch=checkpoint['epoch'])
        print("Loading from epoch:", checkpoint['epoch'], 'schedular:',
              self.scheduler.last_epoch, 'map:', checkpoint['map'], 'rank1:',
              checkpoint['rank'][0])
        return checkpoint['epoch'], checkpoint['rank'], checkpoint['map']


if __name__ == '__main__':
    mp.set_start_method(opt.start_method, True)

    if opt.model_name == 'MGN':
        model = MGN()
        loss = Loss_MGN()
    elif opt.model_name == 'Resnet':
        model = Resnet()
        loss = Loss_Resnet()
    elif opt.model_name == 'CGN':
        model = CGN()
        loss = Loss_CGN()
    elif opt.model_name == 'SN':
        model = SN()
        loss = Loss_SN()
    elif opt.model_name == 'FPN':
        model = FPN()
        loss = Loss_FPN()
    elif opt.model_name == 'AN':
        model = AN()
        loss = Loss_AN()

    if opt.mode == 'train':