charlesCXK / TorchSemiSeg

[CVPR 2021] CPS: Semi-Supervised Semantic Segmentation with Cross Pseudo Supervision
MIT License
504 stars 74 forks source link

cutmix issue #57

Closed DeepHM closed 2 years ago

DeepHM commented 2 years ago

Hello, I have a question about Cutmix. I know that Cutmix mixes two different pictures. But when I use DDP, "TorchSemiSeg/exp.voc/voc8.res50v3+.CPS+CutMix/dataloader" shows that is_shuffle is False and the shuffle in the distributed sample is True. If I do this, won't the same picture be mixed for each gpu? -> This is because get_train_loader is inside the engine. ) -> ############### with Engine(custom_parser=parser) as engine: train_loader, train_sampler = get_train_loader(engine, VOC, train_source=config.train_source, \ unsupervised=False, collate_fn=collate_fn) unsupervised_train_loader_0, unsupervised_train_sampler_0 = get_train_loader(engine, VOC, \ train_source=config.unsup_source, unsupervised=True, collate_fn=mask_collate_fn) unsupervised_train_loader_1, unsupervised_train_sampler_1 = get_train_loader(engine, VOC, \ train_source=config.unsup_source, unsupervised=True, collate_fn=collate_fn) ###############

Thank you!

charlesCXK commented 2 years ago

@kwakhyunmin Hi, they use different samplers so I think these two data loaders are different. Maybe you could check this by comparing the images from these two data loaders.