工事現場備忘録

私の備忘録を私がどう書こうが私の自由であるとの信念に基づき自由に書いています

wsl2でtensorflow-directmlでkerasするやつ

次いつ使うか知らんけど一応やったからメモ
今はDirectML Plugin for TensorFlow 2があるけどこれはtensorflow1.15相当のtensorflow-directmlのやつ

環境

windows11 22H2
wsl2 Ubuntu20.04
GPUはRX6800XTで動作確認済み

いつもの

sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove

インスコ

sudo apt install build-essential libbz2-dev libdb-dev libreadline-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libsqlite3-dev libssl-dev zlib1g-dev uuid-dev tk-dev
wget https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tar.xz
tar xJf Python-3.7.16.tar.xz
cd Python-3.7.16
./configure
make
sudo make altinstall

direct-mlはpython3.5,3.6,3.7がサポート対象,他verでも動くかもだけど従っておくのが無難ってことで3.7.16
システム側のpythonを上書きするのは嫌だからaltinstallにする

仮想環境作って動かす

python3.7 -m venv venv
python3.7 -m pip install tensorflow-directml
python3.7 -m pip install keras==2.3.1
python3.7 -m pip install scikit-learn

venvはよくないとか言われてるのを見たこともあるけど"まぁええやろ"の精神で.
tensorflow-directmlのインストール自体はpipで突っ込むだけ.kerasはtensorflow1.15に合わせて2.3.1を指定.scikit-learnは私が使いたかったから入れただけ
あとは普通にtensorflowとかkeras使うようにやれば動く.wsl2ならGPUも動く.