mmengine.dist.collect_results¶
- mmengine.dist.collect_results(results, size, device='cpu', tmpdir=None)[source]¶
Collected results in distributed environments.
- Parameters:
results (list[object]) – Result list containing result parts to be collected. Each item of
result_part
should be a picklable object.size (int) – Size of the results, commonly equal to length of the results.
device (str) – Device name. Optional values are ‘cpu’, ‘gpu’ or ‘npu’.
tmpdir (str | None) – Temporal directory for collected results to store. If set to None, it will create a temporal directory for it.
tmpdir
should be None when device is ‘gpu’ or ‘npu’. Defaults to None.
- Returns:
The collected results.
- Return type:
list or None
Examples
>>> # distributed environment >>> # We have 2 process groups, 2 ranks. >>> import mmengine.dist as dist >>> if dist.get_rank() == 0: data = ['foo', {1: 2}] else: data = [24, {'a': 'b'}] >>> size = 4 >>> output = dist.collect_results(data, size, device='cpu') >>> output ['foo', 24, {1: 2}, {'a': 'b'}] # rank 0 None # rank 1