2023/05/30

原因不明な機械学習

 もう何度も実行してるのですが、昨夜も24時間学習を夜通しの覚悟で居たんですが、ふと進んでない事に気が付く。ログ画面に今何回目のトライアルって出力されるんです。10時間の時でだいたい2100回とかだったかと記憶してます。1回のトライアルが数秒から数十秒が一般です。10時間学習から計算すると1回のトライアルが17秒程度かと。しかし、昨夜、既に6時間程実行してるのに延々と210で動いない事に気が付きました。つまり、1時間程度した後に進まなくなっていたんですね。ログはRichTextBox使っていて1秒毎にタイマー使って最後尾に飛ぶようにしてるので、カクカクと常に動いてるんです。数秒から長いとほんと1分位とか掛かるので全く気にしてないのですが、昨夜は計算上5時間は進まなくなっていた事になる。で、プロセスを停止して昨夜は作業終了としました。

前にもここにもちらっと書いたかもなんですが、新馬戦用とそれ以外用の24時間学習を同時に実行してた時に新馬戦用が、まあ、この時は完全にハング状態でタスクマネージャーでキルしたんです。昨夜の場合はハングではなかったです。心当たりは...この状態になっている事に気が付く少し前に、JRA-VANからのテスト環境の不備を修正したって返信があった事に気が付いたので、仮想マシン立ち上げてテストをし始めて、あららっ、バグかって事でその調査しようかな~っと、ふと、学習プロセス見て気が付きました。でも、既に5時間とか経過してるタイミングなんで今回の計算からすると1時間程度で、原因は別かもなんですが、32ビットアプリとして動いている時にも、まあ、これはログにもOut of Memoryな表示が出たんですが今回は無し。仮想マシン起動によるメモリ消費ではないかなぁ。1時間程度後にやった事で思い当たるのは、メディアプレイヤーで映画見始めた事かな。ディスクIOか何かでビジー状態とかでデッドロックしたのかなぁ😓しか思い当たる事がないです。映画データは物理的に別ドライブではあるんですけどね。今も書きながら学習プロセスは動いてるんですが、今40分程度過ぎてて243回のトライアルは終わってたりします。210回は30分程度でって事かも。まあ、学習プロセス起動して、ひたすら待つので暇つぶしで映画でも見るかって行動ではあったんですが、PCへの負荷は極力避けなきゃかもです。ファクターの数が違うとはいえ、24時間学習自体は無事に終わった経験はあるので不可能ではないと思うので、今回も無事を祈るしかないのかな😜

追記 2023/5/30 8:46
諸々PCいじってたりしましたが、今朝も90分程度で学習の進行が止まったorz アイビー先生もたいした回答はしてくれない。で、今はVisual Studioのデバックモードで実行中。いや、だからって別になんじゃないけど、メモリとかはモニター出来るので何か分かれば良いな~って程度なんですが、まあ、これで行けるならそれはそれでねぇ。ただ、なんとなくなんですが、リリース・バージョンでの実行時はトライアルが短いものは5~6秒でしたが、デバッグモードではもっぱら9~10秒でたま~に5秒とか。原因特定出来ないと、安心して長時間学習に挑めない。

追記 2023/5/30 12:08
モニター出力部分はほぼサンプル通りにしてたんですが、ちと工夫入れました😉 新たなトライアル開始時にその時点の時刻出力。あと出力自体も少しフォーマットして見やすくしてみた。いや、だからって原因解決にはなってませんが、ただ、少なくとも開始時間が出力されているので止まったのが長いと判断もしやすくなったので、やはり数分以上だと何かがって思わないと。それとタイマーで処理してたRichTextBoxの末尾への移動もモニターで出力する度にって変更する事でカクカクは無くした。で、これ書いてる間に既に今のトライアルが8分程進んでないorz

追記 2023/5/30 13:26
長く留まっているのは分かりやすくなったんですが、判断は別問題。先程書いたトライアルは9分ちょいで次に進んだし、少し前にうわぁ~30分超えてるから駄目かな~っと止めようか悩んでると34分少々で次にとか。5秒で終わるのと34分以上なのと何がそんなに違うんだかブラックボックス過ぎて以前の様にひたすら知らんぷりで終わるの待って結果だけ確認が正解なのかなぁ。今のは明日昼前に24時間が終わる予定です。

追記 2023/5/30 17:03
やばい!なんと!3時間36分後に次のトライアルに進むとか。これマジで向き合わず、時間まで放置が良いですね。タスクマネージャーで少し見てて、普通にCPUを3~4割使ってて、メモリはその時は5ギガ程度で徐々に増えてたので、まあ、ハングはしてなくて、何かしてるんだろうな~って事で映画を1本見てました。諦め半分でPCの画面に戻すとトライアルが進んでたんです。今はメモリ11ギガとか使ってます。これじゃ32ビットアプリじゃメモリ不足もなっとくな感じです。さて、64ギガ積んでますが無事に24時間完走出来るかなぁ。今5時間で11ギガ。ここまあ4時間弱で6ギガ程度増えてます。残り19時間で5倍の30ギガならメモリは足りるのかな?こうして書いている間にもメモリ増えるだけじゃなくちょっと減る事もあるので多少開放もしてるのかも。

0 件のコメント:

コメントを投稿