NVIDIA
DeepLearning
Ubuntu14.04
Digits
More than 1 year has passed since last update.

NVIDIAの提供している、DeepLearningによる画像分類ツール「DIGITS」を使いたいと思い立ち……思い直し?

デスクトップPCにUbuntuをインストールするところから、ツールとして使えるようになるまでの

一連の作業を覚え書きとして残しておく。

※2016/6/28時点の情報

ドライバとかインストールするのにやたら苦労したので……


Ubuntuインストール

Ubuntuは適当にインストールする。今回使用するのは Ubuntu Desktop 14.04 日本語 Remix

先に結論を書くと、ドライバをインストールするより先に各種更新処理をしないと駄目なように感じた。

なので、まず以下のコマンドを打ち込む。

sudo apt-get update

sudo apt-get upgrade

ついでに、よく使うらしいツール群をインストールしておく

sudo apt-get install git build-essential openssh-server

OSの更新?は、「ソフトウェア更新」のポップアップが出てくるのでハイハイしておく。

消してしまった場合は、タスクバー(って言うのか?)の検索窓に「update」と打ち込めば出てくる。

適度にsudo rebootをぶち込みながら作業を進める。

ところで、グラフィックボードは最初から「GEFORCE GTX 970」を刺していますが

その影響なのかどうか、Ctrl+Alt+F1で仮想コンソールに入れないという現象が発生します。

(何も表示されない真っ暗画面になる)

/etc/default/grubを編集すると動くらしいので、ポチポチと編集します。

viエディターとかで適当に開いて、GRUB_TERMINAL=consoleの行をコメントインします。

あとはupdate-grabを叩いたら、仮想コンソールに入れるようになります。

あと、コンソールからの作業が増えるので以下のコマンドを打っておくと幸せになれるかも。

LANG=C xdg-user-dirs-gtk-update


NVIDIAドライバのインストール

さて、グラボのドライバをインストールして参ります。

Install / Uninstall NVIDIA Driver 340.32 On Ubuntu / LinuxMint

手順は上記サイトに書いてありますが、GUI上からだと処理できないようなのでコンソールから操作する必要があります。

あと、今回インストールしたドライバのバージョンは「367.27」でございます。

1. NVIDIAのHPからインストーラ(.run)をダウンロードする。(Linux 64bit)

2. 以下、コンソールから作業。

3. chmod +x hoge.run インストーラに実行権限を与える。

4. sudo apt-get purge nvidia* 念のため既存ドライバのアンインストール?

5. sudo service lightdm stop GUI用のサービス?を殺す

6. sudo service gdm stop というのは、gdmというサービスが見つからないので無視して良い?

7. sudo hoge.run インストーラを叩く。あとはハイハイ選んで、インストール完了したらリブート。

これでドライバのインストールが完了する、はず。


DIGITSのインストール

公式Gitのインストールガイドの通りに進める。

(自分でbuildする方法も書かれてるけど、今回そっちはやらない)

ドライバは先の作業でインストールしたので、CUDAとMachineLearningPackageとかいうのをインストールする。

以下コピペ

# Access to CUDA packages

CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/${CUDA_REPO_PKG} -O /tmp/${CUDA_REPO_PKG}
sudo dpkg -i /tmp/${CUDA_REPO_PKG}
rm -f /tmp/${CUDA_REPO_PKG}

# Access to Machine Learning packages
ML_REPO_PKG=nvidia-machine-learning-repo_4.0-2_amd64.deb
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/${ML_REPO_PKG} -O /tmp/${ML_REPO_PKG}
sudo dpkg -i /tmp/${ML_REPO_PKG}
rm -f /tmp/${ML_REPO_PKG}

# Download new list of packages
sudo apt-get update

最後に以下のコマンドを打ち込めばインストール完了、お疲れ様でした。

sudo dpkg-reconfigure digits


言い訳

何もしてないのに壊れた!!

というのは冗談だけど、そもそも1ヶ月くらい前は何の苦労もなくインストールできたDIGITSちゃん

そこにJetson TX1の開発環境とかいろいろインストールしてたらいつの間にかDIGITSが動かなく……それどころか、GUIでログインすら出来なくなって、イライラしたのでクリーンインストールに至るというのが事のあらまし。

あと、以前ちゃんと動いてた時に「ソフトウェア更新」をしたら急にエラー吐きまくるようになって

これは駄目だなと思い、今回は更新せず強引にインストールを進めようとしてたのも長引いた要因だと思う。

上手くインストールできずに再クリーンというのを2度3度と経験して、何とか動くところまで辿り着いたので作業手順を書き留めた次第。

インストールに失敗すると、DIGITSで学習させるとエラー吐いて死んでしまう状態になり

判断基準として、ブラウザからDIGITSを開くとGPUの認識状態が確認できる。

HOME画面の右上(バージョンの下)に1/1 GPU availabeと表示されていれば正常に認識された状態。

ドライバ周りのインストールに失敗した時は何も表示されません。


追記

学習データのDB作成、学習処理までは上手く動作するものの

分類処理を実行しようとするとエラー吐いて止まってしまう

何なんだよもう……