最近在使用Word2Vec时发现一个奇怪的问题,那就是每次运行出来的结果不一致,这就是得程序复现带来了很多麻烦。多方查阅资料后终于解决了这个难题,下面说一下我的解决方案。
查阅Word2Vec的官方文档,在seed参数哪里可以发现这样的解释:
seed (int) – Seed for the random number generator. Initial vectors for each word are seeded with a hash of the concatenation of word + str(seed)

在Python3环境下使用Word2Vec时遇到每次运行结果不一致的问题,解决办法包括设置seed参数、将workers设为1以及设置环境变量PYTHONHASHSEED。在Python3中,除了设置seed和限制worker数量,还需要通过修改环境变量来确保结果的可复现性。通过在系统环境变量中新建PYTHONHASHSEED并赋值,可以使Word2Vec模型的运行结果一致。

1470

被折叠的 条评论
为什么被折叠?



