@@ -76,7 +76,6 @@ def multi_gpu_test(model, data_loader, tmpdir=None, gpu_collect=False):
7676 # collect results from all ranks
7777 if gpu_collect :
7878 raise NotImplementedError
79- # results = collect_results_gpu(results, len(dataset))
8079 else :
8180 results = collect_results_cpu (results , len (dataset ), tmpdir )
8281 return results
@@ -115,47 +114,5 @@ def collect_results_cpu(result_part, size, tmpdir=None):
115114 part_file = mmcv .load (part_file )
116115 for k , v in part_file .items ():
117116 part_list [k ].extend (v )
118- # TODO: consider the case for DET
119- # # sort the results
120- # ordered_results = []
121- # for res in zip(*part_list):
122- # ordered_results.extend(list(res))
123- # # the dataloader may pad some samples
124- # ordered_results = ordered_results[:size]
125- # remove tmp dir
126117 shutil .rmtree (tmpdir )
127118 return part_list
128-
129-
130- # def collect_results_gpu(result_part, size):
131- # rank, world_size = get_dist_info()
132- # # dump result part to tensor with pickle
133- # part_tensor = torch.tensor(
134- # bytearray(pickle.dumps(result_part)), dtype=torch.uint8,
135- # device='cuda')
136- # # gather all result part tensor shape
137- # shape_tensor = torch.tensor(part_tensor.shape, device='cuda')
138- # shape_list = [shape_tensor.clone() for _ in range(world_size)]
139- # dist.all_gather(shape_list, shape_tensor)
140- # # padding result part tensor to max length
141- # shape_max = torch.tensor(shape_list).max()
142- # part_send = torch.zeros(shape_max, dtype=torch.uint8, device='cuda')
143- # part_send[:shape_tensor[0]] = part_tensor
144- # part_recv_list = [
145- # part_tensor.new_zeros(shape_max) for _ in range(world_size)
146- # ]
147- # # gather all result part
148- # dist.all_gather(part_recv_list, part_send)
149-
150- # if rank == 0:
151- # part_list = []
152- # for recv, shape in zip(part_recv_list, shape_list):
153- # part_list.append(
154- # pickle.loads(recv[:shape[0]].cpu().numpy().tobytes()))
155- # # sort the results
156- # ordered_results = []
157- # for res in zip(*part_list):
158- # ordered_results.extend(list(res))
159- # # the dataloader may pad some samples
160- # ordered_results = ordered_results[:size]
161- # return ordered_results
0 commit comments