深度学习---确保每次训练结果一致的方法

每次训练结果不一致的原因:

神经网络特意用随机性来保证,能通过有效学习得到问题的近似函数。采用随机性的原因是:用它的机器学习算法,要比不用它的效果更好。

在神经网络中,最常见的随机性包含以下几个地方:

  • 初始化的随机性,比如权值

  • 正则化的随机性,比如dropout

  • 层的随机性,比如词嵌入

  • 最优化的随机性,比如随机优化

解决方案:设置随机数字生成器的种子

1)设置 Torch 的随机种子为固定值,可以保证每次运行网络的时候相同输入的输出是固定的

SEED = 42
torch.manual_seed(SEED)

2)设置这个 flag 为True,每次返回的卷积算法将是确定的

torch.backends.cudnn.deterministic = True

3)设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题

torch.backends.cudnn.benchmark = False

 把该设置代码放在文件的开头处即可

SEED = 42
torch.manual_seed(SEED)
torch.backends.cudnn.deterministic = True 
torch.backends.cudnn.benchmark = False

 

深度学习---确保每次训练结果一致的方法_第1张图片

【题外话】

世界杯:

世界上最高荣誉、最高规格、最高竞技水平、最高知名度的足球比赛,与奥运会并称为全球体育两大最顶级赛事,甚至是影响力和转播覆盖率超过奥运会的全球最大体育盛事,世界足球运动发展推广普及的源头和根本,所以也被誉为“生命之杯”

意义:

全球各个国家在足球领域最梦寐以求的神圣荣耀,也是各个国家所有足球运动员的终极梦想,它也被誉为“生命之杯”,代表着足球界至高无上的荣誉与球迷世界的狂欢。振兴民族精神,足球运动蕴涵着深入透彻的文化和思想内涵,其影响已远远超出其本身的竞技运动范畴,关系到地区或国家的形象,重要国际比赛的成功,能振奋民族精神,激发人们爱国热情
 

你可能感兴趣的:(深度学习,深度学习,人工智能,机器学习,程序人生,神经网络)