gensim/word2vecにlifecycle eventなるものが追加された + 一部callbackが消されてた

Scala好きとか言いながら1つもScalaの記事書いてないんですが大丈夫なんですかね

lifecycle eventが追加された

github.com


どういうものでなんで実装されたかはここを見ればわかるんですが、要約すると

  • gensim使ってる人からの、モデルの問題に関しての報告が辛い
  • 何が辛いかって何をしたかとかバージョンは何かとか書いてないことが多すぎる
  • サポートの労力が増えて体験が良くないので「ライフサイクルログ」というものを取りましょう
  • 今後報告を受け付けるときはこれを提示してもらうようにしましょう

loggerに出力していた情報を適宜ライフサイクルログとしてモデルに保存しましょう、みたいな感じですね。
やる気が出たらどのタイミングで保存されるかも書くかも。

Record lifecycle events in Gensim models (#3060) · RaRe-Technologies/gensim@60ad052 · GitHub

一部callback削除

on_batch_beginon_batch_end が削除されました。

何で消したんだろ?って思ったんですが、どうもこのタイミングでモデル保存するなどしていた人たちがいたみたいですね。
まあこのタイミングで保存しても個別のworkerが同時に複数バッチを処理している関係でモデルの整合性が取れないため、トレーニング中に保存するとしたら on_epoch_end とかが適切です。
というかまあ基本的に整合性が取れないのでこのタイミングで行えることなんて殆ど無いです。

しかも corpus_file モードで学習させてるとそもそもコールバックされてないよね、みたいな問題もあり、いっそのこと削除するか、となったそうです。

github.com