条件
2017/07/25
Ubuntu 16.04
GeForce GTX 970
GPUのドライバ
もし,ディープラーニングをやらないのであれば,
sudo apt-get install nvidia-375
sudo reboot
でおしまい.
数字が一番大きい(=最新のドライバ?)ものを選んどけば間違いない.
もし,ディープラーニングをやるのであれば,aptで入れてはダメで,手順としては
- もしaptで入れていたら消す
- cudaを入れる: https://developer.nvidia.com/cuda-downloads
- cuDNNを入れる: https://developer.nvidia.com/rdp/form/cudnn-download-survey
-
.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
としたら入る.
cupy
はchainer
で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())
で動作確認可能.