kenkento6's blog

データ分析、技術的試行錯誤、オンライン大学院生活にまつわることを書きます

Windows11+AMD Radeon GPUにDirectML(DirectX+WSL2)を利用したTensorFlow/Pytorch環境をセットアップした

概要

Deep Learningで遊んでみようと思いGPUを搭載したが、NVIDIAでなくAMDなのでCMUが使えない。
Windowsが提供するAPIのDirectMLだとWindows/WSL上で動き、DirectX12を利用してAMD GPUにアクセスできるらしいので試してみた。環境はWSL上で構築した。
docs.microsoft.com
docs.microsoft.com

Kernelのアップデート

前回WSLセットアップの際にコマンドで入れたkernelは5.10.16.3で、今回使用するDirectMLに対応していなかった。以下のコマンドでLinux Kernelをアップデートした。

wsl --update

5.10.102.1にアップデートされた。

DirectML

実行した手順はMicrosoftのページの通り。いずれもpipで必要なdirectmlパッケージを導入するだけ。

TensorFlow with DirectML

TensorFlow1とTensorFlow2があるのでどちらも試した。
docs.microsoft.com
docs.microsoft.com

PyTorch with DirectML

docs.microsoft.com


感想

AMD Radeon GPU&Windows(WSL)でもGPUを用いたDeep Learninigの環境をセットアップすることが出来た。Windows上のWSLからGPUを利用できて本当にすごい。*1

まともにPythonのライブラリを使ってML/DLをやったことがないので、使い勝手(速度がどれくらいか、必要なバージョンがあるか等)は不明。今学期Machine Learning for Tradingという講義を取ったので、色々試して勉強したい。

今回は試しで指示通りminicondaを使ったが、実際に使う際はdockerか、pipenv/venv。次はこの環境をLinux(WSL)上のDockerから使えるか?を試したい。

*1:こういった技術がどうやって動いているかを理解できるようになるよう、大学院で勉強したい。