def train(): dataset = VidVRD('../vidvrd-dataset', '../vidvrd-dataset/videos', ['train', 'test']) param = dict() param['model_name'] = 'baseline' param['rng_seed'] = 1701 param['max_sampling_in_batch'] = 32 param['batch_size'] = 64 param['learning_rate'] = 0.001 param['weight_decay'] = 0.0 param['max_iter'] = 5000 param['display_freq'] = 1 param['save_freq'] = 5000 param['epsilon'] = 1e-8 param['pair_topk'] = 20 param['seg_topk'] = 200 print(param) model.train(dataset, param)
def train(): dataset = VidVRD(anno_rpath=anno_rpath, video_rpath=video_rpath, splits=splits) param = dict() param['model_name'] = 'baseline' param['rng_seed'] = 1701 param['max_sampling_in_batch'] = 32 param['batch_size'] = 64 param['learning_rate'] = 0.001 param['weight_decay'] = 0.0 param['max_iter'] = 5000 param['display_freq'] = 1 param['save_freq'] = 5000 param['epsilon'] = 1e-8 param['pair_topk'] = 20 param['seg_topk'] = 200 print(param) model.train(dataset, param)
def train_epoc(trn,model,criterion,optimizer,scheduler): # Train the model model.train() train_loss = 0 train_acc = 0 for text_ap, offsets_ap, text_cid,offsets_cid, clss in tqdm(trn): optimizer.zero_grad() text_ap, text_cid=text_ap.long().to(device),text_cid.long().to(device) offsets_ap, offsets_cid, clss = offsets_ap.to(device),offsets_cid.to(device), clss.to(device) output = model(text_ap, offsets_ap,text_cid, offsets_cid) loss = criterion(output, clss) train_loss += loss.item() loss.backward() optimizer.step() train_acc += (output.argmax(1) == clss).sum().item() # Adjust the learning rate scheduler.step() return train_loss , train_acc