主にこのような人向け:Windows 10 + CUDA で PyTorch や TensorFlow などを使ってきたが,Ubuntu (Windows 10 の WSL 2 上)でも CUDA や TensorFlow を使いたい.
前提:Windows 10 Insider Program に参加すること.その条件などは利用者で確認すること.
WSL 2 上の Ubuntu での CUDA や TensorFlow の動作については,Dockerを使うものについて, https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2 で報告されている.日本語の類似記事も散見される. この記事では,Docker なし(素直に WSL 2 上の Ubuntu を動かす)の場合について,報告する.
ソフトウエア類の利用条件は各自で確認すること.
【このページの目次】
サイト内の関連ページ:
参考Webページ
https://www.tensorflow.org/install/gpu#pip_package
先人に感謝.
Windows パソコンで次を行う
設定変更に伴うトラブルの可能性を減らすため.
※ すでにチェックが外れている場合には,何も行わなくて良い
※ なお,「Linux 用 Windows サブシステム」がないというときは, 「Windows Subsystem for Linux」があれば,そのチェックを外す.
※ 「Windows の機能の有効化または無効化」の表示法
コントールパネルに慣れている場合など,コントールパネルで,「プログラム」,「プログラムと機能」,「Windows の機能の有効化と無効化」という操作でもよい.
Windows の検索機能で,「Windows の機能の有効化または無効化」でもよいでしょう
更新による不具合の可能性がある. 大事なデータのバックアップを取っておくなど,慎重に行うこと.
手順は 別ページで説明している
時間がかかるので,しばらく待つ
手順は 別ページで説明している
4.9.121のように,121 以上になっていれば OK.
wsl uname -r
4.9.121のように,121 以上になっていれば OK.
次のように,121 より小さい値のときは,更新する必要がある.
更新するには,「wsl --update」あるいは「wsl -d <ディストリビューション名> --update」を実行
※ 「wsl --update」あるいは「wsl -d <ディストリビューション名> --update」を実行を実行したが, 「利用できる更新ない」というとき(下図のように)
Ubuntu のインストールが終わった後, プレビュー版の NVIDIA グラフィックスドライバを,Windows マシンにインストールする.
これは,Windows マシンにインストールするのであって,WSL上の Ubuntu でのインストール作業ではない.
wsl --shutdown
ダウンロードには登録が必要.登録のときにも,利用条件などは,利用者側で確認すること.
https://developer.nvidia.com/cuda/wsl/download
WSL 2 の Ubuntu で OS のシステム更新を行う
wsl
sudo apt update sudo apt -yV upgrade
引き続き,次のコマンドを実行.
sudo apt -y install python3-dev python3-pip python3-setuptools python3-numpy
※ GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある. CUDA とは,NVIDIA社が提供している GPU 用のプラットフォームである. NVIDIA 社のグラフィックスボードが持つ GPU の機能を使うとき,CUDA を利用することができる.
NVIDIA グラフィックスドライバ,NVIDIA CUDA ツールキットのインストールの要点:
URL: https://www.tensorflow.org/install/source#common_installation_problems
次のコマンドを実行して,インストールする.
Ubuntu 20.04 では,CUDA 10.1 がインストールされる.
sudo apt -y install nvidia-cuda-dev nvidia-cuda-toolkit nvidia-cuda-toolkit-gcc
バージョンを選んでインストールしたい場合などは, 次のページからダウンロードしてインストールする.
http://developer.nvidia.com/cuda-downloads
wsl
python3 --version
次のように選ぶと,その下に,ランタイムコマンドが表示される
頭には「sudo」を付ける.
「pip」は「pip3」に変える.
python3 -c "import torch; print( torch.__version__ )"
from __future__ import print_function import torch x = torch.rand(5, 3) print(x)
wsl
python3 --version
※ トラブルの可能性を減らすために,次の操作でアンインストールを行っておく.
sudo apt -y remove python3-keras sudo python3 -m pip uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow_datasets tensorflow-hub keras
https://www.tensorflow.org/install/gpu#pip_package の記載に従う.
次のコマンドを実行
GPU 版 Tensorflow をインストールする場合
※ 「pip3 install」は,Python パッケージをインストールするためのコマンド
sudo python3 -m pip install --upgrade pip sudo python3 -m pip install tensorflow-gpu tensorflow_datasets
CPU 版の Tensorflow をインストールする場合
※ 「pip3 install」は,Python パッケージをインストールするためのコマンド
sudo python3 -m pip install --upgrade pip sudo python3 -m pip install tensorflow tensorflow_datasets
端末で,次のコマンドを実行.
※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある.下の図とは違うバージョンが表示されることがある
python3 -c "import tensorflow as tf; print( tf.__version__ )"
TensorFlow が GPU を認識できているかの確認は,端末で,次を実行して行う.
python3 -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
「device_type: "GPU"」があれば,GPUが認識できている.
ここで,GPU があるのに,TensorFlow から認識されていないかもしれない. TensorFlow GPU 版が指定するバージョンの NVIDIA CUDA ツールキット,NVIDIA cuDNN がインストールされていないことが原因かも知れない.
URL: https://www.tensorflow.org/install/source#common_installation_problems
https://github.com/tensorflow/tensorflow に記載のサンプルプログラムを実行してみる
Python プログラムを動かす.
※ Python プログラムを動かすために, WSL 2 の Ubuntu では「python3」コマンドを使う. あるいは, PyCharmなどにある Python コンソールも便利である.
結果として 「Hello, TensorFlow!」のように表示されるので確認する.
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') print(hello)
結果として 「42」のように表示されるので確認する.
「tf.add(a, b)」と「a + b」は,同じ結果になる
import tensorflow as tf a = tf.constant(10) b = tf.constant(32) print( tf.add(a, b) ) print( a + b )
結果として 12 が表示されるので確認する.
import tensorflow as tf matrix1 = tf.constant([[3., 3.]]) matrix2 = tf.constant([[2.],[2.]]) print( tf.matmul(matrix1, matrix2) )
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ)