changlin31 / DNA

(CVPR 2020) Block-wisely Supervised Neural Architecture Search with Knowledge Distillation
235 stars 35 forks source link

为何不同进程的随机数种子不一样? #25

Closed nbl97 closed 3 years ago

nbl97 commented 3 years ago

无论是 train supernet 还是 retrain 阶段,作者都设置了 torch.manual_seed(args.seed+args.rank),为何令不同进程的随机数种子不一致?这不会导致在 train supernet 时不同进程采样的 uniform path 不一致吗?

changlin31 commented 3 years ago

是的,目前不同进程采样的path是不一样的,这样有什么问题么?

nbl97 commented 3 years ago

当然没有问题。不过还是想问下,这么做的目的是什么呢?感觉一般用DistributedDataParallel都只是为了增大batch?

changlin31 commented 3 years ago

这个没有什么特别的目的,只是 follow pytorch-image-models 里本身的training code: https://github.com/rwightman/pytorch-image-models/blob/779107b693010934ac87c8cecbeb65796e218488/train.py#L332

timm库不是NAS训练,我理解设置torch.manual_seed(args.seed+args.rank) 是为了数据顺序和augmentation等等在各进程间不完全相同