#TensorFlowのGPU版(tensorflow-gpu)を動かすために必要なこととは?
- Deep Learningを行う計算力(compute capability)のある比較的新しいGPU(nVidia社製)を搭載していること。
- GPUの適切なドライバがOSに入っていて、使用可能な状態になっていること。👈今ここ
- tensorflow-gpuやGPUのドライバ(CUDA)、Deep Learning用のライブラリ(cuDNN)を入れる環境を作るため、Anacondaがインストールされていること
- Pythonや必要なライブラリがバージョンの互換性を持っていること
#この記事のゴール
GPUに対してバージョンの合ったドライバーがOSに入っている状態を作る。
#二つのステップ
はじめ、GPUが既存のUbuntu標準ドライバー(nouveau)により画面がディスプレイに出力されています。計算の用途でGPUを用いるにはnVidiaのドライバーが必要です。
ドライバーをインストールするために二つのステップがあります。
ステップ1: secure boot(セキュアブート)をオフにする(必要に応じて)
ステップ2: nVidiaのドライバーをインストールする
では、順にクリアしていきましょう。
#ステップ1:セキュアブートをオフにする
セキュアブートは怪しいソフトを判定して動くことを許可しないようにする仕組みです。これが有効だとステップ2でOSにインストールするドライバーはサードパーティ製なので怪しいものではないのですがエラーを吐いてしまいます。
BIOSから無効にできる。以下参照。
https://ymgsapo.com/2019/02/26/keras-gpu-deep-learning/
#ステップ2:nVidiaのドライバをOSにインストールする。
まず、ubuntu-drivers-commonパッケージをインストールします。
$sudo apt install ubuntu-drivers-common
ドライバをaptでインストールしたいが、公式のレポジトリには古いものしかないらしい(https://qiita.com/ozota/items/28b7e1fbf5015f907638)ので、次のコマンドで外部(サードパーティ)のレポジトリを追加します。
$sudo add-apt-repository ppa:graphics-drivers/ppa
次のコマンドを忘れずに行いましょう。
$sudo apt update
次のコマンドでGPUに対して適切なドライバがどれかを表示させます。
$ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:02.0/0000:02:00.0 ==
modalias : pci:v000010DEd000013BAsv0000103Csd00001097bc03sc00i00
vendor : NVIDIA Corporation
model : GM107GL [Quadro K2200]
driver : nvidia-driver-450 - distro non-free
driver : nvidia-driver-435 - distro non-free
driver : nvidia-driver-410 - third-party free
driver : nvidia-driver-450-server - distro non-free recommended
driver : nvidia-driver-415 - third-party free
driver : nvidia-driver-390 - distro non-free
driver : nvidia-driver-418-server - distro non-free
driver : nvidia-driver-440-server - distro non-free
driver : nvidia-340 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
今回、”recommended”がついたドライバー(nvidia-driver-450-server)を次のコマンドでインストールしました(一応ですが、常にrecommendedが良いとは限りませんので興味があったら調べてみてください)。
注意点⚠️: ひとつのOSに何個もドライバーを入れるのはバッティングの可能性があり、好ましくありません。ドライバーは画面出力を司っているので、間違えて入れてしまったものを消そうとしても拒否されてややこしかったです(私はOSを再インストールしました)。よく確認のうえ、ドライバーは一つだけインストールしてください。
$sudo apt -y install nvidia-driver-450-server
再起動をします。
$sudo reboot
正常にドライバーがインストールされた場合は次のコマンドで表が出てくるはずです。
$nvidia-smi
お疲れ様でした、今回はGPUを計算の用途に用いるために必要なドライバーをインストールしました。
#二つのステップがクリア出来たら
次はTensorFlowを動かす環境を作るため、Anacondaのインストールからスタートします。次の記事で解説していきます。
【3】UbuntuにAnacondaで構築するTensorFlow-GPU環境構築〜Anaconda仮想環境作成編〜