diff --git a/ppcls/engine/evaluation/classification.py b/ppcls/engine/evaluation/classification.py index 647a821714f88ed849da71db21b4d98121134eb6..45eccf71d64b372a73d78ece62ceadc4f721a469 100644 --- a/ppcls/engine/evaluation/classification.py +++ b/ppcls/engine/evaluation/classification.py @@ -81,7 +81,8 @@ def classification_eval(engine, epoch_id=0): # gather Tensor when distributed if paddle.distributed.get_world_size() > 1: label_list = [] - label = batch[1].cuda() if engine.config["Global"][ + device_id = paddle.distributed.ParallelEnv().device_id + label = batch[1].cuda(device_id) if engine.config["Global"][ "device"] == "gpu" else batch[1] paddle.distributed.all_gather(label_list, label) labels = paddle.concat(label_list, 0)