【发布时间】:2023-12-14 11:22:01
【问题描述】:
阅读Doc2Vec documentation of gensim 时,我对一些选项感到有些困惑。比如Doc2Vec的构造函数有一个参数iter:
iter (int) – 语料库的迭代次数(epochs)。
那么为什么train方法也有一个类似的参数叫做epochs?
epochs (int) – 语料库的迭代次数(epochs)。
两者有什么区别?文档中还有一段:
为了避免围绕模型执行多项操作的能力的常见错误 训练通过自身,必须提供明确的 epochs 参数。 在常见和推荐的情况下,train() 只被调用一次, 模型的缓存 iter 值应作为 epochs 值提供。
但我真的不明白为什么构造函数需要一个 iter 参数以及应该为它提供什么。
编辑:
我刚刚看到也可以直接在构造函数中指定语料库,而不是单独调用 train()。所以我认为在这种情况下,将使用 iter,否则将使用 epochs。对吗?
如果是这样,在构造函数中指定语料库和手动调用 train() 有什么区别?为什么要选择一个或另一个?
编辑 2:
虽然文档中没有提到,但 iter 现在已被贬低为 Doc2Vec 的参数。它被重命名为epochs,以与train()的参数保持一致。培训似乎可以解决这个问题,尽管我对MemoryErrors 感到很挣扎。
【问题讨论】: