(prompt_model, dataloader, desc)
| 272 | print("truncate rate: {}".format(test_dataloader.tokenizer_wrapper.truncate_rate), flush=True) |
| 273 | |
| 274 | def evaluate(prompt_model, dataloader, desc): |
| 275 | prompt_model.eval() |
| 276 | allpreds = [] |
| 277 | alllabels = [] |
| 278 | |
| 279 | for step, inputs in enumerate(dataloader): |
| 280 | if use_cuda: |
| 281 | inputs = inputs.cuda() |
| 282 | logits = prompt_model(inputs) |
| 283 | labels = inputs['label'] |
| 284 | alllabels.extend(labels.cpu().tolist()) |
| 285 | allpreds.extend(torch.argmax(logits, dim=-1).cpu().tolist()) |
| 286 | acc = sum([int(i==j) for i,j in zip(allpreds, alllabels)])/len(allpreds) |
| 287 | return acc |
| 288 | |
| 289 | from transformers import AdamW, get_linear_schedule_with_warmup,get_constant_schedule_with_warmup # use AdamW is a standard practice for transformer |
| 290 | from transformers.optimization import Adafactor, AdafactorSchedule # use Adafactor is the default setting for T5 |
no test coverage detected