使用Tensorflow处理项目。但是,我似乎无法重现我的结果。
我尝试过设置图级种子,numpy随机种子甚至操作级别种子。但是,它仍然不可重复。
在搜索Google时,大多数人都将reduce_sum函数指向罪魁祸首,因为即使在设置种子后,reduce_sum函数在gpu上也具有非确定性属性。但是,由于我正在开展纸张项目,我需要重现结果。还有其他有效的功能可以解决这个问题吗?
另一个建议是使用CPU。但是,我正在研究错误数据,这样的CPU不是一个选择。使用Tensorflow处理复杂项目的人如何解决这个问题?或者,审阅者可以加载已保存的模型检查点文件以进行结果验证?
答案 0 :(得分:5)
很酷,您想要使结果可重复!但是,这里有很多事情要注意:
如果可以得到完全相同的论文,我将其称为可复制 通过执行完全相同的操作在论文中找到的数字 脚步。这意味着如果可以访问同一环境, 相同的软件,硬件和数据,人们将能够 得到相同的结果。相比之下,论文称为可复制 如果一个人只能遵循 本文的文字描述。因此,复制性更难 达到,而且是质量更好的指标 纸
您希望在按位相同的模型上获得训练结果。圣杯是写纸的方式是,只要人们只有纸,他们仍然可以确认你的结果。
还请注意,在许多重要论文中,实际上都无法复制结果:
如果这是一个问题,很大程度上取决于具体情况。作为比较,请考虑CERN / LHC:不可能进行完全相同的实验。地球上只有极少数的机构拥有检查结果的工具。仍然不是问题。因此,请问您的顾问/已经在该期刊/会议上发表过论文的人。
这太难了。我认为以下方法会有所帮助:
在我看来,您已经做了重要的事情:
numpy
,tensorflow
,random
,... 请注意,可能有些因素无法控制: