【发布时间】:2021-08-07 21:05:27
【问题描述】:
为什么我的具有批量规范层的模型在每次运行时表现不同,而没有批量规范层的模型执行相同。在我的模型中,随机种子由以下人员设置:
np.random.seed(args.seed)
torch.manual_seed(args.seed)
random.seed(args.seed)
torch.cuda.manual_seed_all(args.seed)
os.environ['PYTHONHASHSEED'] = str(args.seed)
在删除批规范层并保持其他设置后,我的模型产生了相同的结果。
【问题讨论】:
-
最好不要将这样的标题放在问题中。请更改它。
-
标题应该描述您的实际技术问题。关于什么问题在这里是主题的问题在这里是题外话——它们只是在Meta Stack Overflow 上的主题。 (幸运的是,您实际上并没有提出元问题,而是询问实际的技术问题,但您的标题应该描述该技术问题;我已尝试为此进行编辑)。
-
您可以添加的另一件事是minimal reproducible example,它可以让某人测试输出是否仍然是随机的。假设,这个问题显示了您为避免随机性所做的努力,但它并没有显示人们如何自己看到这些努力并不能解决问题。
标签: python pytorch batch-normalization