過去10回でパソコンを自作した後に、Ubuntu14.04、CUDA、cuDNN、chainer、dqn、LIS、Tensorflow、OpenAIGymを順次インストールし、いくつかモデルを走らせた。特に前回はDeep PredNetを学習させた。
http://qiita.com/masataka46/items/9c40013b08cd9703edf7
今回は飯塚氏が作成したPsedo-countコードでatari2600ゲームを学習させてみる。
M. Bellemare氏らのPseudo-count論文はこちら。
https://arxiv.org/pdf/1606.01868v1.pdf
飯塚氏のGitHub上のコードはこちら。
https://github.com/Itsukara/async_deep_reinforce
上記論文の内容に加えて、いろいろアイデアを入れているようだ。
##環境
CPU:Corei7 6700K
GPU:GTX1070
SSD:240GB
HDD:1TB
マザーボード:ASUS H170-pro
OS:Ubuntu14.04 LTS
python:2.7.6
CUDA:8.0 RC
cuDNN:5.1
TensorFlow:0.10.0
など
まずREADMEに従って環境を整える
##Anacondaのインストール
ここのサイト
http://morimori2008.web.fc2.com/contents/PCprograming/python/pythonAnaconda.html
に従って、Anacondaをインストールする。
wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda2-2.4.1-Linux-x86_64.sh
sudo su
bash Anaconda2-2.4.1-Linux-x86_64.sh
source /root/.bashrc
##opencv3のインストール
このサイト
http://qiita.com/bohemian916/items/23abea5ef9fadcc8bce0
を参考にopencv3.1.0をインストールする。まずはパッケージをダウンロードしてきて解凍。
~/work/download
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/3.1.0/opencv-3.1.0.zip
unzip opencv-3.1.0.zip
次にrequirementをインストールする。既に入ってるものもあるかもしれないが、上記サイトのコマンドをコピペで実行。
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-dev
cmakeディレクトリに移動して設定。
cd opencv-3.1.0/cmake
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_FFMPEG=OFF -D BUILD_opencv_python2=ON ..
コア数が必要らしい。
grep -c ^processor /proc/cpuinfo
8
コア8個でmakeする。
make -j8
すると以下のようなエラーが出て81%で止まった。
make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] エラー 1
make[2]: *** 未完了のジョブを待っています....
make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
Linking CXX shared library ../../lib/libopencv_photo.so
[ 81%] Built target opencv_photo
make: *** [all] エラー 2