Ubuntu18.04をインストールしてPyTorchでGPUが使えるかを確認するまでの設定
Nvidia GeForce RTX 2080 Tiを搭載したOSなしのPCを買ってライブUSBを指すも、バグった画面が出てインストール画面にすら行かないという状況だったが、 なんとかNvidia Driver/CUDA/cuDNNを入れて、PyTorchでGPUを認識するに至った過程を残しておく。
1. インストールメディアの作成
ライブUSBでもライブDVDでもいいが、Ubuntu18.04のISOファイルを書き込んだメディアを作成する。 簡単だがそれぞれ作り方が異なるので この辺とか ネットで検索してから実施した。 自分は最初、手持ちの古いUSBでライブUSBを作成したがバグ画面が出たので、古いからダメなのかなと思い、 DVDを買ってきてライブDVDを作成して再度インストールを試みたが同じ画面が出た感じ。 結局どっちでもいいと分かったので、その後はDVDで進めている。 今回の件とは無関係かもしれないが、今回インストールしたUbuntu18.04は日本語翻訳版で、 それが悪さしているという噂 も散見されるので、英語版でやった方がすんなり行くかも。
2. インストール画面に行けない問題の解決
メディアを読み込むとGNU GRUB画面が出る。
デフォルトのTry Ubuntu without installing
か、その下のInstall Ubuntu
に進むと、
Ubuntu18.04のインストール画面に行く。
自分はWi-Fiが使えるのかを確認してからインストールしたかったので前者を選択したが、
どちらもその先はバグった画面にメッセージが書かれたまま進まない状況となる。
解決策としては、
ここ
にも書かれている通り、以下の手順を踏むと上手く行く。
- GNU GRUB画面で
Try Ubuntu without installing
かInstall Ubuntu
を選択した状態にする - e キーを押して起動コマンドを編集する画面を開く
- 起動コマンドの
quiet splash
の箇所をnomodeset
に書き換える F10
で起動
3の手順は最後に追加すればOKとかいうサイトもあるけど、quiet splash
をnomodeset
に置き換える必要がある。
あとnomodeset
のスペルミスに気を付けて入力すること。
上手く行けばインストール画面に進める。
3. ログイン画面に行かない問題の解決
無事インストールできたと思っても、再起動後にログイン画面が表示されず、またバグった画面が出るという状態になった。
問題はWayland
という未完成のディスプレイサーバーを利用しているかららしい。
なので、これをオフにすると上手く行った。
本記事には詳しく書かないが、
ここ
を参考に進めたら上手く行った。1度だけ。。
ちなみに、Advanced option for Ubuntu
を選択する画面だが、
自分の環境ではShift
ではなくEsc
を連打したら行くことができた。
あと、自分はviではなくemacs派だったのでviを使えないのだが、
手順の例に挙げられているnanoは普通のエディタなので、vi使えない人はnanoがいいと思う。
4. ログイン画面に行かない問題の解決 その2
再起動したもの再びログイン画面は表示されなかった。
上記と同じ手順に従うと行けるはずと思ったが、もうconfファイルの編集は必要ないので、
[Advanced option for Ubuntu
] > [Ubuntu, with Linux ... (recovery mode)
] > [resume
] > [Ok
]
の手順でログイン画面の表示に成功した。
5. Nvidia Driverを入れて問題解決
様々な参考文献を読んでると、どうやら諸悪の根源はNvidia Driverのような感じがする。 と言うわけで、Nvidia Driverを入れれば全部解決するっぽい。 ただし、自分はNvidia Driverだけでなく、 CUDA/cuDNNまで入れてPyTorchが動くことまで確認したら、 ログイン画面が表示されるようになった。 ただし、Ubuntu18.04とPyTorch1.4では、この辺はほぼ全自動で簡単にできる。
5.1. Secure BootをDisableにしてNvidia Driverを入れる
まずPCを再起動して、F11を連打して、UEFI画面を開いて、セキュアブートを無効にする。 次にログイン画面して、以下のコマンドを入力して各種ドライバーをインストールする。 詳しくは ここや ここを参照。 なお、これだけでもログイン画面問題は解決するかも。
$ ubuntu-drivers devices $ sudo ubuntu-drivers autoinstall
5.2 Anacondaを入れて仮想環境にPyTrochを入れる
ここを参考にAnacondaを入れたあと、 仮想環境を作って、そのにPyTorchを入れる。 PyTorchをインストールする際は、以下のようにcudatoolkitも入るので、 これでCUDAとcuDNNもバージョンを気にせずインストールできる。
conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
すべて上手くいくと以下のように環境構築できたことが確認できる。
$ nvidia-smi Sun Apr 5 12:31:15 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 435.21 Driver Version: 435.21 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce RTX 208... Off | 00000000:01:00.0 On | N/A | | 35% 30C P8 12W / 260W | 395MiB / 11011MiB | 8% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1169 G /usr/lib/xorg/Xorg 18MiB | | 0 1263 G /usr/bin/gnome-shell 58MiB | | 0 1572 G /usr/lib/xorg/Xorg 157MiB | | 0 1705 G /usr/bin/gnome-shell 113MiB | | 0 2938 G ...quest-channel-token=6894681319300380423 46MiB | +-----------------------------------------------------------------------------+ $ python Python 3.6.10 |Anaconda, Inc.| (default, Mar 25 2020, 23:51:54) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> print(torch.cuda.is_available()) True
参考文献
- Ubuntu 18.04 LTSインストールガイド【スクリーンショットつき解説】
- NVIDIA搭載機にUbuntuをインストールできない問題の解決 - 回れ右の内輪差
- Ubuntu 18.04 LTSが起動しない?Waylandを無効にすれば起動するかも! - LFI
- 18.04 LTS インストールできましたが、起動途中でフリーズしてしまいます - Ubuntu日本語フォーラム
- 【Ubnutu】リカバリーモードで起動する方法【18.04】 - taketiyo.log
- 【初心者向け】Ubuntu18.04にAnacondaを導入しよう! - Samurai Works
- Anaconda installer archive
- 簡単にUbuntuにVSCode (Visual Studio Code) をインストールする方法 - karelie
- Ubuntu 18.04の右クリックメニューから「空のドキュメント」を作成する - Sickly Life Blog
- Ubuntuでホームディレクトリの中身を英語にする - Qiita
- PyTorch
- UbuntuにRTX2080Tiドライバーのインストール - 日本に西の端に棲息する研究者見習いの備忘録
- Ubuntu18.04にRTX 2080のドライバーをインストールする
- Ubuntu18.04にCUDAをインストールする - Qiita
- 開発メモ その114 Ubuntu 18.04でNvidia Driverをインストールする - A certain engineer "COMPLEX"