# GPUが使えるか確認 device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") print("using:", device) print("set weights!") # In[6]: print(net) # In[7]: from utils.ssd_model import MultiBoxLoss # define loss criterion = MultiBoxLoss(jaccard_thresh=0.5, neg_pos=4, device=device) # optim import torch.optim as optim optimizer = optim.SGD(net.parameters(), lr=1e-3, momentum=0.9, weight_decay=5e-4) # In[8]: def get_current_lr(epoch): lr = 1e-3 for i, lr_decay_epoch in enumerate([120, 180]): if epoch >= lr_decay_epoch:
print("set weights!") # In[8]: print(net) # In[9]: from utils.ssd_model import MultiBoxLoss # define loss criterion = MultiBoxLoss(jaccard_thresh=0.5,neg_pos=3, device=device, focal=focal) # optim import torch.optim as optim optimizer = optim.Adam(net.parameters(), lr=1e-4, weight_decay=5e-4) # In[10]: def get_current_lr(epoch): lr = 1e-4 for i,lr_decay_epoch in enumerate([80,120]): if epoch >= lr_decay_epoch: lr *= 0.1 return lr
# GPUが使えるか確認 device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") print("using:", device) if isRESUME: print("set weights from " + args.resume + " ==========") net_weights = torch.load(args.resume, map_location={'cuda:0': 'cpu'}) net.load_state_dict(net_weights) from utils.ssd_model import MultiBoxLoss # define loss criterion = MultiBoxLoss(jaccard_thresh=0.5, neg_pos=3, device=device, half=HALF) # optim import torch.optim as optim optimizer = optim.SGD(net.parameters(), lr=1e-3, momentum=0.9, weight_decay=5e-4) # def get_current_lr(epoch): if DATASET == "COCO": reduce = [20, 40]