LoginSignup
3
2

More than 5 years have passed since last update.

PCにGPUを導入した後にやること

Last updated at Posted at 2017-07-24

条件

2017/07/25
Ubuntu 16.04
GeForce GTX 970

GPUのドライバ

もし,ディープラーニングをやらないのであれば,

sudo apt-get install nvidia-375
sudo reboot

でおしまい.
数字が一番大きい(=最新のドライバ?)ものを選んどけば間違いない.

もし,ディープラーニングをやるのであれば,aptで入れてはダメで,手順としては

  1. もしaptで入れていたら消す
  2. cudaを入れる: https://developer.nvidia.com/cuda-downloads
  3. cuDNNを入れる: https://developer.nvidia.com/rdp/form/cudnn-download-survey
  4. .bashrcに設定を書く

が必要で,
2に関してはInstaller Typeをdeb(network)にした.この時同時にGPUのドライバ(?)も入るので,1を先にやっておく必要がある.
3に関しては,tensorflowが対応しているv5.1を入れた.v6.0だとtensorflowが動かなかったので.

4に関しては以下を追記.

export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"

2018/07/04 追記

ここにtensorflow向けのCUDAとcuDNNのversionのオススメ対応表が載っているので,都度確認してからインストールする.
CUDAはaptで入れたり消したりすればよいが,
cuDNNは消すときは手動で消す必要があって,ここが分かりやすい.

具体的には,sudo rm /usr/local/lib/libcudnn* /usr/local/include/cudnn.hをすればよい.

また,cudaをaptで新しいversionを入れるときは,

sudo apt autoremo # 一旦綺麗にする
sudo aptitude cuda-X-X # aptitudeで関連パッケージ(?)も消す
sudo apt install cuda-Y-Y # 新しいversionを入れる

という手順でやる.aptでなくてaptitudeで消すと安心できる.

virtualenvの導入

環境を汚したくないので,virtualenvを使う.
virtualenvよりも良い方法があるかもしれないし,時代遅れかもしれないが,とりあえずこれで.

sudo pip install virtualenv
sudo pip install virtualenvwrapper

で入れて,

if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.sh
fi

.bashrcに追記.

そのあと,

mkvirtualenv dnn

で環境構築が出来る.workon dnnで入れる.

virtualenv上にDNNのフレームワークを入れる

  • tensorflow
  • chainer

を入れる.

pip install tensorflow-gpu
pip install chainer
pip install cupy

としたら入る.
cupychainerでGPUを使うのに必要で,installが上手く行かないかもしれないが, https://docs-cupy.chainer.org/en/latest/install.html とかをちゃんと読むと普通にpipで入る.何を苦労したかは忘れたが,pipで普通に入る.

chainer.cuda.available
chainer.cuda.cudnn_enabled

で確認できるとのこと.

今後はworkon dnnで進める.

OpenAI Gymを入れる

流行っているっぽいので入れる.

workon dnn
cdvirtualenv
mkdir src
cd src
git clone https://github.com/openai/gym
cd gym
pip install -e .[all]

でハマりポイント無く入る.

import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
    env.render()
    env.step(env.action_space.sample())

で動作確認可能.

3
2
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
3
2