LoginSignup
4
8

More than 5 years have passed since last update.

GTX1050tiを取り付けからTensorFlowを動かすまで

Posted at

機械学習用にGPUが欲しいけどお高いGTX1080等に手を出せずにいた自分が、ついにGTX1050tiを買っていろいろした話。

環境・目標

windowsとkubuntuのdualbootをしています。メインはkubuntu。これまではグラフィックはCPU(i7-2700K)についているHDGraphics3000頼り。
kubuntuで機械学習にGPUを使えるようにするのが目的。windowsは動けばOK。

取り付け・ドライバのインストール

自作Pcにwindows10とubuntu14.04をいれてみた(GPU有)」によると、デフォルトのままの場合、GPUを挿すとGPU側から出力しようとするんだけど、相性の問題か、画面がほぼ全く映らない。なので、BIOSの設定をいじってCPU側から出力されるようにする。
こうすると、windowsもkubuntuも起動できるので、それぞれでドライバをインストール。windowsはnvidiaのサイトからドライバのインストーラを拾ってきて実行。

kubuntuが厄介だった。
GTX-1080 など GeForce を Ubuntu 16.04 LTS で CUDA-8.0RC と共に使う」をそのままなぞるのが正解だった。(「nvidia-番号」は適当に最新のもので)
cudaを入れた後に「nvidia-番号」をインストールし直すというのが謎の手法だが、nvidiaのサイトのドライバのインストーラを単純に実行して失敗した。(デスクトップ環境であるplasmashellが起動後すぐにクラッシュするようになった。)

cuda・cudnn

cudaは上でインストールできたのでOK。cudnnはnvidiaの会員登録のようなものが必要。ダウンロードしたら、TensorFlowのサイトに書かれているやり方でインストール。(https://www.tensorflow.org/versions/r0.11/get_started/os_setup.html#optional-install-cuda-gpus-on-linux)

TensorFlowはバージョン0.11になってcuda8をサポートしたらしいので、自分の場合は現状の最新のものをインストールできたけど、本来は上手く行かない可能性があるので注意が要りそう。

TensorFlow

pipコマンドで適当に入れればいいのだけど、CPUを使う環境を残しておきたい、GPU環境が修正不要でこのまま使うか疑わしい、という理由で、pyenv-virtualenvでGPU環境下のTensorFlowを作ることにした。pyenv-virtualenvは、環境に名前をつけたり、ディレクトリごとに環境を用意できるのがメリット。
pyenvはanyenvでインストールして、

git clone https://github.com/yyuu/pyenv-virtualenv ~/.anyenv/envs/pyenv/plugins/pyenv-virtualenv

でプラグインとしてインストール。
pyenvでpython環境を作るときに変な警告が出たのでpyenvのwikiに書かれた必要なものをインストールしました。(https://github.com/yyuu/pyenv/wiki/Common-build-problems)

そんな感じで、専用の環境を作り、その環境にTensorFlowを含め使いそうなパッケージをインストール。

とりあえず、import tensorflow as tfだけで動かしたり、mnistしてみたりして確認。肝心の計算スピードは、以前書いたCNNで試してみて、一分ちょっとで99%の精度が出たので満足。

4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8