Test with single gpu.
(model, data_loader, pre_seq=None,trans_req=None, waypoint=False)
| 11 | |
| 12 | |
| 13 | def single_gpu_test(model, data_loader, pre_seq=None,trans_req=None, waypoint=False): |
| 14 | """Test with single gpu.""" |
| 15 | model.eval() |
| 16 | results = [] |
| 17 | dataset = data_loader.dataset |
| 18 | prog_bar = mmcv.ProgressBar(len(dataset)) |
| 19 | for i, data in enumerate(data_loader): |
| 20 | with torch.no_grad(): |
| 21 | pre_seq_i = None if pre_seq is None else pre_seq[i*32:(i+1)*32] |
| 22 | trans_req_i = None if trans_req is None else trans_req[i] |
| 23 | result = model(return_loss=False, waypoint=waypoint, inference_kwargs={'pre_seq': pre_seq_i, 'trans_req': trans_req_i}, **data) |
| 24 | |
| 25 | batch_size = len(result) |
| 26 | if isinstance(result, list): |
| 27 | results.extend(result) |
| 28 | else: |
| 29 | results.append(result) |
| 30 | |
| 31 | batch_size = data['motion'].size(0) |
| 32 | for _ in range(batch_size): |
| 33 | prog_bar.update() |
| 34 | return results |
| 35 | |
| 36 | |
| 37 | def multi_gpu_test(model, data_loader, tmpdir=None, gpu_collect=False): |