При чтении документации gensim Doc2Vec я немного запутался в некоторых вариантах. Например, конструктор Doc2Vec имеет параметр iter:
iter (int) - Количество итераций (эпох) по корпусу.
Почему тогда метод train также имеет аналогичный параметр, называемый эпохами?
epochs (int) - Количество итераций (эпох) по корпусу.
В чем разница между ними? В документации есть еще один абзац:
Чтобы избежать типичных ошибок, связанных со способностью модели выполнять несколько проходов обучения, ДОЛЖЕН быть предоставлен явный аргумент эпох. В общем и рекомендуемом случае, когда train () вызывается только один раз, кэшированное значение iter модели должно быть указано как значение эпох.
Но я не совсем понимаю, зачем конструктору параметр iter и что именно для него нужно предоставить.
ИЗМЕНИТЬ:
Я только что увидел, что есть возможность указать корпус непосредственно в конструкторе, а не вызывать train () отдельно. Поэтому я думаю, что в этом случае будет использоваться iter, а в противном случае - эпохи. Это верно?
Если да, то в чем разница между указанием корпуса в конструкторе и вызовом train () вручную? Почему нужно выбрать то или иное?
ИЗМЕНИТЬ 2:
Хотя это не упоминается в документации, iter теперь не используется как параметр Doc2Vec. Он был переименован в эпохи, чтобы соответствовать параметру train (). Обучение, кажется, работает с этим, хотя я борюсь с MemoryErrors .