今回諸々行っているAutoMLはチュートリアルから得た情報を元に行っている事はもう随分前に書きました。AutoML:自動機械学習(2)でAutoMLMonitorクラスを使っていると書きましたが、既にあの時とは内容ってか機能(あくまでもログ出力部分)が変わってます。AutoML機能自体には当然理解出来ていないので触ってなかったんですが、メモリ不足の解消の為に調べなきゃ進めないので眺めてたんですが、これ全てのトライアルをやはりメモリ上に残してますね😧
private readonly List<TrialResult> _completedTrials;
クラス内部にこれがあり、
public IEnumerable<TrialResult> GetCompletedTrials() => _completedTrials;
このメソッドを使って取り出せる様にしてありました。
_completedTrials = new List<TrialResult>();
クラスのコンストラクタにこれがあり、
_completedTrials.Add(result);
ReportCompletedTrialメソッドでこんな感じでリストに入れ込んでました。本来学習終了時にモデルビルダーがやっている様にそれぞれの結果がどんな感じかリスト出力する時に使えるんだと思いますが、他のトライアルがどんな結果かが必要ではなく、最適なトライアルが得られれば良いだけなので、モニタークラスからこの部分を削りました。これで、新馬戦3日間学習に再チャレンジ開始しました。モニター機能変更してAutoMLプロセス自体が軽快に動作する様になつたと思うのでダブルで稼働しても影響ない筈なので、いや、まあ、CPUは取り合うかもですが、そこはまあねえ、目をつぶって通常用の3日間学習も並走させてみます。
0 件のコメント:
コメントを投稿