Darkforestを動かしていくまでを記録してみましたので、参考になればと思います
今回はAmazon EC2のg2.2xlergeを使っていきます
こちらは有料なので、使われる場合は金額をご確認ください
インスタンスの使用数に制限があり、デフォルトではg2.2xlargeは0(!)になっているかと思いますので、制限緩和のリクエストをしなければならないので、先にリクエストしておきましょう
OSはUbuntu14.04LTSを選択しました
DarkforestのGithubはこちら
https://github.com/facebookresearch/darkforestGo
gitインストール
$sudo apt-get install git
vimインストール
$sudo apt-get install vim
$makeインストール
$sudo apt-get install -y build-essential cmake
パスワード設定
$sudo passwd (username)
パッケージのアップデート
$sudo aptitude update
$sudo aptitude -y full-upgrade
torchインストール
$git clone https://github.com/torch/distro.git ~/torch --recursive
$cd ~/torch; bash install-deps;
$./install.sh
$source ~/.bashrc
デフォルトのグラフィックドライバを停止
$sudo vim /etc/modprobe.d/blacklist-nouveau.conf
以下入力
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
sudo vim /etc/modprobe.d/nouveau-kms.conf
options nouveau modeset=0
$sudo update-initramfs -u
$sudo reboot
CUDAインストール
NVIDIA公式サイトにてCUDAをダウンロードする(最新版で良いと思います)
$sudo dpkg -i cuda-repo-ubuntu1404_8.0.44-1_amd64.deb
$sudo apt-get update
$sudo apt-get install cuda(長い)
$echo "export PATH=/usr/local/cuda/bin/:\$PATH; export
$LD_LIBRARY_PATH=/usr/local/cuda/lib64/:\$LD_LIBRARY_PATH; " >>~/.bashrc && source ~/.bashrc
cuDNNインストール
公式サイトよりcudaのverに合わせてダウンロードする(こちらも最新版で良いと思います)
$tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
$sudo cp cuda/include/*.h /usr/local/cuda/include
$sudo cp cuda/lib64/.so /usr/local/cuda/lib64
パッケージのインストール
githubでは以下だけだが、cunnも必要なようです(現段階では入れなくてもよい)
$sudo apt-get install luarocks
$luarocks install class
$luarocks install image
$luarocks install tds
$luarocks install cudnn
darkforestをインストール
$git clone https://github.com/facebookresearch/darkforestGo.git ~/darkforest --recursive
$cd ~/darkforest
$sh ./compile.sh
モデルファイルを作る
$mkdir ~/darkforest/models
全部モデルファイルに入れておく
$cd models/
$wget https://www.dropbox.com/sh/6nm8g8z163omb9f/AAAOsp9WzSQrITY9veSmOA1pa/df1.bin?dl=0 -O df1.bin
$wget https://www.dropbox.com/sh/6nm8g8z163omb9f/AACZwAeb0OOCReoeIWPRgILta/df2.bin?dl=0 -O df2.bin
$wget https://www.dropbox.com/sh/6nm8g8z163omb9f/AABrO3wRZ5hLOk70gmu3rK7Ja/LICENSE?dl=0 -O LICENSE
$wget https://www.dropbox.com/sh/6nm8g8z163omb9f/AABcYJKMOl6-Uol98boGa7n5a/playout-model.bin?dl=0 -O playout-model.bin
pipeファイル用ディレクトリ
$mkdir ~/df_pipe
動かす
$cd ~/darkforest/local_evaluator
$sh cnn_evaluator.sh 1 ~/df_pipe
(output path = /~/df_pipe
数字)で処理が止まってしまった場合は、df_pipeの中身を確認
私の場合はcnn_eval-1.logに(cunn)が見つからないといわれていたので、luarocks install cunnで入れました
$cd ~/darkforest/cnnPlayerV2
$th cnnPlayerMCTSV2.lua --pipe_path ~/df_pipe (--option)
これでGTPコマンドでの操作が可能です(公式では以下)
clear_board (盤面の初期化)
genmove b (Darkforestに黒番で次の一手を打たせる)
play w Q4 (自分が白番で指定の座標に打つ) ← genmove w Q4 をお勧めします
quit (終了)
goguiでの遊び方
javaのインストール
$sudo apt install default-jre
goguiをインスト―ル
$wget http://downloads.sourceforge.net/project/gogui/gogui/1.4.9/gogui-1.4.9.zip
解凍
$unzip gogui-1.4.9.zip
仮想環境の場合以下から、vncserverなどで行ったほうが良いだろう
$cd gogui-1.4.9/bin/
$./gogui
プログラムの登録方法
~/darkforest でpipeを通すところまで行う
Program/NewProgram...をクリック
コマンド(Command)
th cnnPlayerMCTSV2.lua ―pipe_path ~/df_pipe -num_gpu 1 -time_limit 5
time_limitは変更可能
Workingdirectry
~/darkforest/cnnPlayerV2
パスはフルパスで入力
Program/Attachで先ほど登録したものを選択
Game/New Gameをクリックし、対局が始められる
デフォルトではComputerが白番だが、以下から
Game/Computer Colorで手番を決められる
棋譜は載せませんが、軽く対局してみた感じですと、有段者レベル(1~3d)はあるかなぁという感じでした
悪手と守る手が多くて… ( ´∀` )
学習につきましては、試行錯誤してみましたが、どうもうまくいかないようでした