我在gensim python库中使用Doc2Vec模型。
每当我用相同的句子数据输入模型并将参数:Doc2Vec的种子设置为固定数时,模型在建立模型后给出不同的向量。
出于测试目的,每次输入未更改的输入数据时,我都需要确定的结果。我搜索了很多,并没有找到一种方法来保持gensim的结果不变。
我使用它的方式有什么问题吗?谢谢你提前回复。
这是我的代码:
from gensim.models.doc2vec import Doc2Vec
model = Doc2Vec(sentences, dm=1, dm_concat=1, size=100, window=5, hs=0, min_count=10, seed=64)
result = model.docvecs
答案 0 :(得分:1)
dm_concat=1
算法在初始化和训练中都使用了随机性,高效的多线程训练引入了更多的随机性,因为多个线程中的批次不一定会以相同的顺序进行训练。运行至中运行。
如果模型训练良好,则从一次到另一次运行的结果中的抖动不应该很大,并且下游评估的质量不应该变化很大。如果结果质量确实变化很大,那么将算法应用于您的数据或培训可能存在其他问题。
另外:您几乎肯定不想使用非默认<div class="col-md-12 pdf">
<object data="./assets/ABC/abc.pdf" type="application/pdf">
alt : <a href="./assets/ABC/abc.pdf">Download File</a>
</object>
</div>
模式。它导致了更大,更慢的列车模型,并且没有任何明确的公开示例值得花费额外成本。 (如果我从更简单的模式获得强大的基线结果,以及大量的数据和时间,我只会尝试它。)