1

現在、vowpal wabbit を使用してトレーニング フェーズを実行しています。データ セットは大きく (4G バイト)、すでに一晩中実行されています。まだ訓練中で、何日続くかわかりません。

トレーニングを停止する方法があるかどうか知っていますが、モデルを現在の状態で保持して保存するため、実際のデータでテストする必要がありますか?

4

2 に答える 2

2

いずれかを使用できることが事前にわかっている場合--save_per_pass(モデルはパスごとに保存されるため)、または 1 パス学習のみを行う場合は、ファイル名がモデルを保存するパスであるタグを使用して特別な例を含めることができます。 save_filename

マルチパス学習を行って最初のパスが終了した場合 (つまりキャッシュ ファイルが作成された場合) は、saveサンプルをトレーニング データに含める方法がないため、トレーニング済みのモデルを簡単に保存する方法がないと思います遠い。

4 GiB は小さなデータセットだと思います:-)。10GiB (圧縮) データセット (これもそれほど大きくありません) でトレーニングしたとき、並列化なしで 2 時間かかりました (キャッシュ ファイルの作成を含め、ほとんどの時間がかかります。それ以降のパス/実験ははるかに高速です)。もちろん、それはデータセット、オンライン対バッチ学習、​​使用される削減とパラメーター、特にパスの数とハード ドライブの速度に依存しますが、「一晩」はこのような小さなデータセットには長すぎるように思えます。

@ user3914041 が言ったように、stderr ログを確認してください。

于 2015-07-21T19:33:27.053 に答える
1

任意の時点で VW を停止してそのモデル状態をダンプする方法はありません。ファイルからトレーニングする場合、現在の VW の進行状況を推定し、データの一部を削除して、VW がデータセットの最後に到達できるようにすることができます。VW はバッファリングされた読み取りを使用することに注意してください。

または、おそらくより良いアプローチは、save例をトレーニング データセットに挿入することです。VW を-fparam で起動した場合、VW がこの例に到達すると、指定されたモデル ファイルが作成されます。を指定せず、データセットに例-fがある場合save_foo|、モデルは「foo」というファイルに保存されます。次に、VWプロセスを強制終了できます。

これらの提案はすべて、機能する場合と機能しない場合がある汚いハックです。モデルを保存するときは事前に計画し、次回は Martin が提案したオプションのいずれかを使用することをお勧めします。

更新: マーティンのメモが含まれています。

于 2015-07-21T21:01:31.717 に答える