ひえ~壁が高すぎる。
GPUが使えませんでした。
5月3日からチャレンジし続けてきた以下の構成でコンピュータ将棋のディープラーニングを行うことを一時断念するしかなくなりました。
ハード構成とディープラーニングのプラットフォーム:
・Macbook Pro
・GPU:AMD製Radeon Pro5500
・PlaidML
・Keras
・Tensorflow
今回のチャレンジで判ったことは、
1)ディープラーニングに必須のGPUはNVIDIAが支配的で、その理由はCUDAという
GPU向けの汎用並列コンピューティングプラットフォームであり、それがなんと
NVIDIAのGPUしかサポートしていない。
2)MacはGPUとしてAMD製を採用しておりNVIDIA製は搭載していない。
3)KerasはNVIDIA製以外のGPUを使えるプラットフォームである。
ベンチマークテストでの動作は正常終了
4)上記構成でディープラーニングを使ったコンピュータ将棋の学習を行うも
損失関数の結果がnanとなり、どうやらGPUにキチンとデータが渡っていない。
ここから推定ですが、CNNを構成するときにtensorflowを使っておりkerasがバックエンドで走ってはいるもののtensorflowをカバーできていないのかな、と思っています。
色々調べて、藁にもすがる思いで以下のリンク先を見つけてngraphを試してみましたがダメでした。
諦めるわけではありませんが、現時点でこれ以上追い続けることは良くないと思い、Macbook ProのGPUを使ってのディープラーニングを行うことは一旦中断したいと思います。 でも諦めずに定期的にサーチは続けます。
ということで方針転換をしました。
ということでMacbook ProでCPUを使ってのディープラーニングに切り替えました。
Macbook ProはCPUとして第9世代のCore i9(8コア、16スレッド)なのでSurface Laptop2(CPU:第8世代のCore i5/4コア、8スレッド)に比べて処理時間ははるかに短く済みました。
処理結果を下の写真に示します。 処理時間は約1/8から1/9の約10時間
損失関数の結果は2.46でテストデータに対する一致度は34%でした。
今は、これで満足することとします。
これからのこと
今回の結果で、2台のPCでCPU版ではありますがディープラーニングを使ったコンピュータ将棋の学習を終えることができました。 今後、どちらのPCをメインに作業を進めるかということになりますが、ディープラーニングが不得手なMacではありますが、処理能力を考えればMacを使い対面もあり、またまた挫折するチャレンジになるかもしれませんが、Macで作業を継続しようと思います。
明日から気持ちを切り替えて、早く対局ができるようにしたいと思います。
では、また。
(参考ニュース)
コンピュータ将棋オンライン大会がありました。