将棋AIで学ぶディープラーニング on Mac and Google Colab

AI

[方策ネットワーク]
第8章5〜9

GUIソフトに登録

Macではbatファイルの代わりにshファイルを使う。下記のようにshファイルを作成する。

#!/bin/sh
python3 /Users/・・・/python-dlshogi/pydlshogi/usi/usi_policy_player.py

あとは本の手順に従いGUIソフトにshファイルを追加する。

エンジン登録終わらない問題

下記のようにエンジン登録中…のまま終わらない場合がある。

解決事例1

shファイルの2行目の最後に改行を入れたり余計なコメントを入れない。

解決事例2

症状
何かわからんが失敗する。

解決方法
pythonの環境構築の問題(numpyが環境上にimportできていなかったりpython3を使えていなかったり)を見直したらできた。

解決事例3

症状
下記エラーが出る。
ImportError: No module named pydlshogi.usi.usi
コマンドラインでの実行は成功しており、必要なライブラリもインストール完了。しかし、将棋所からエンジン登録すると、別の場所のpythonを使用して処理をしてしまうらしい。パス設定は.bash_profileに以下①から動くようにしている。
①コマンドラインからの実行ディレクトリ
/usr/local/bin/~
②将棋所からエンジン登録すると動く実行ディレクトリ
/usr/bin/~
将棋所でエンジン登録する時にも①から動かしたい。

解決方法
venvで仮想環境を作り、必要なライブラリを再インストールし、以下の通りシェルを変更
!/bin/sh
cd /Users/~/python3_env
source env/bin/activate
python3 /Users/~/pydlshogi/usi/usi_policy_player.py 2>NUL
そしてエンジン登録

解決事例4

症状
何かわからんが失敗する。将棋GUIである「将棋ぶらうざQ」の方でエンジン登録を試すと、以下のようなメッセージが表示される。
end to 後手-USI:[usi]
quit process to 後手-USI
receive (stdErr) From 後手-USI:[Traceback (most recent call last):]
receive (stdErr) From 後手-USI:[ File “/Users/~/pydlshogi/usi/usi_policy_player.py”, line 1, in ]
receive (stdErr) From 後手-USI:[ �サソfrom pydlshogi.usi.usi import *]
receive (stdErr) From 後手-USI:[ModuleNotFoundError: No module named ‘pydlshogi’]

解決方法
「policy_player.sh」の「python3 ~」を「(Pythonのパス) ~」と書き換える。これであれば、どのPythonを使用するか指定できる。具体的には「which python(3)」で返ってくるパスに書き換えれば、コマンドラインと同じPythonを使用させられる。

対局

iMac上で対局。自分(アマ初段) 対 AI(第8章段階。方策ネットワーク 有り。価値ネットワーク 無し。モンテカルロ木探索 無し。)普通に強かった。

終局図

環境

将棋所 バージョン1.2.2 (6)

コメント

タイトルとURLをコピーしました