『将棋神やねうら王』のマスターアップが近くて死にそうです(´ω`)
発売日は延びたものの、お盆を挟むので、マスターアップの日はあまり延びてません。
NNUEというのはWCSC28でtanuki-チームが使用していたニューラルネットワークを用いた新しいタイプの評価関数です。
このNNUE型評価関数用のやねうら王の実行ファイル用意してなかったので用意しました。
やねうら王のGitHubのreleasesのところからダウンロード出来ます。
Ryzen環境やAVX2以外のCPU、no sse環境など、うまく動いているか自信ないです。動かなければコメント欄でコメントをお願いします。
ゼロクリアしたファイルをkppt型のやり方で制作出来ますか。
ソースコード、追いかけてないのでわかりません…。とりま書き出してみて、ゼロクリアされているかバイナリエディタ等で見てみればいかがかと…。
バグ?の報告です。
学習をさせようと思い、コマンドを入れたのですが、
20分後にはコマンドプロンプトが消えていて、学習もされていません。
コマンド
YaneuraOu-2018-Otafuku-learn-NNUE.exe threads 4 , hash 1024 , evaldir eval , evalsavedir new_eval , evalshare false , learn save_only_once batchsize 300000 eta 0.1 lambda 1.0 eval_save_interval 500000000 loss_output_interval 1000000 mirror_percentage 50 nn_batch_size 10000 eval_limit 32000 targetdir 教師データ , quit
nnueの学習は私もわかりません><
学習用の実行ファイル、うまくコンパイル出来てないのかも。
そうですか。
また機会があったら直してください。
お願いします。
(`・ω・´)ゞ nnue型、私も落ち着いたら取り組んでみますのでそのときにでも。
原因かどうか分かりませんが、本来、容量は3000000kbと表示されるはずなのに、3000000としか表示されていませんでした。
何か関係はあるのでしょうか。
4.82_NNUEとorqhaを組み合わせてGCEで検討していたのですが、最近たまにはゴージャスに検討してやろうと96コアにしてメモリも64GBくらいに設定しました。
しかし初期化エラーが出て起動できませんでした。
徐々にメモリを減らしていったところ40GB位だと起動できて、そこら辺に壁があるみたいでした。コア数を変動しても同じく40GBくらいまでしか起動できませんでした。
4.82_KPPTだとメモリ64GBでも起動できたのでNNUE版の問題だと思うのですが、何が原因なのでしょうか?
やねうら王のGitHubのreleasesに置いてある実行ファイルでも同様ですか?
gceではubuntu 16.04でソースファイルをダウンロードしてmakeしてから、puttyを通してリモートで自宅のPCで検討しています。
リモートだとラグが大きすぎてある程度以上メモリの読み込みに時間がかかるとはねられるのでしょうか?
PuTTYのKeep Aliveの設定で一定秒数の通信がないときに自動切断するようになっているだとか、ブロードバンドルーターのKeep Aliveの設定が短い秒数になっているだとか?
PuTTYやルータのKeep Aliveを設定しようがしまいがあまり読み込めるHASHの数は変動しないです・・・
今のところあまり検討で影響が出ていないっぽいので気にはならないですが、数時間検討してるときは影響出てきますよね?
> 数時間検討してるときは影響出てきますよね?
出ると思います。何らかのKeep Aliveが絡んでいるとして、3分ぐらい放置して切断されないか見てみては?
相談なのですがError! : illegal packed sfenと出たときはどうすれば良いのですか?
教師データが破損しているのでは…。教師生成中に途中で停止させて破損しているのであれば、末尾を(局面データ1個分の整数倍になるように)少し削るだとか。
ありがとうございます!
確かに急用で一回停止していました。
すみません。今更なんですが、局面データ1個分の整数倍になる削り方を教えていただけませんか?
プログラムが書けるのでしたら普通にfopen()して40バイトずつ読み込んでいけばいいだけかと…。
プログラムを書かずにツールを使うのでしたらバイナリエディタなどで40の倍数になるところ以降、トリミングして書き出すなど。
やねうら王を用いるのであればshuffleコマンドは40バイトずつ読み込んでいき、足りなかった場合はその分は無視して次のファイルの処理にいくので、何も考えずにshuffleコマンドを使えば自然と端数分は無視されます。
nnue型のエンジンは重複局面を弾かないと聞いたのですが本当ですか?
教師生成のときですか?ソースコード読んでないので私はわかりません…。
まあ、重複局面除外するの、そんなに大きな意味はないですしね…。
そうなのですか。
自分でどうにかする方法はありますか?
局面重複を削除するコマンドはないです。まあ、そのへんは気にしなくても良いかと…。
ソースコードで、make evallearnとすると
make[1]: ディレクトリ
C:/Users/???/Downloads/YaneuraOu-4.83/YaneuraOu-4.83/source' に入ります
C:/Users/???/Downloads/YaneuraOu-4.83/YaneuraOu-4.83/source’ から出ます'[' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
コマンドの構文が誤っています。
make[1]: *** [../obj/shogi.o] エラー 1
make[1]: ディレクトリ
make: *** [evallearn] エラー 2
となってしまいます。
どうすればよいですか。