RadeonだけどMLがしたい!(DirectMLで遊んでみる) 2

前回はVega8(512 SP)&DirectMLとRX5700XT(2560 SP)& PlaidMLで実行してみたので、性能差がよくわからなかったので、 RX5700XT(2560 SP)の環境にDirectMLを入れてみようと思います。

すでにPlaidMLが動くようにセットアップされているので、それを壊さないようにこちらは仮想環境でセットアップします。といっても事前にactivate.batを実行するぐらいで、インストールのコマンドは前回と全く一緒です。

python -m venv .venv
./.venv\Scripts\activate.bat
(.venv) pip install tensorflow-directml==1.15.5
(.venv) pip install keras==2.3.1
(.venv) pip install matplotlib opencv-python matplotlib pydot

RX5700XT(2560 SP)& PlaidML で1.54Secのモデルをそのまま実行してみると、 RX5700XT(2560 SP)& DirectML は0.42Secでした。
Vega8との比較の時点で速い気配がありましたが、実際に同一環境で比較するとはっきりわかりますね。3倍以上速いです。

TF.v2なのでコードが違うのでなんとも言えませんが、モデル的にはほぼ同じコードをGP106-100(ほぼGTX1060)でTensorFlow-GPUの環境で動かしたときに0.9sec程度でした。

RX5700XTが9.7 TFLOPS、GP106-100が4.3TFLOPSなので性能差を考えると0.42Secと0.9Secは順当な気がしますね。GPUの性能をDirectMLで上手に引き出せているように思えます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)