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
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':