TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

【書籍】囲碁ディープラーニングプログラミング(翻訳)

マイナビ出版から「囲碁ディープラーニングプログラミング」という本が出版されます。
私は翻訳者として関わらせてもらいました。
PythonとKerasを使って、AlphaGo、AlphaGo Zeroの仕組みを一つずつ実装しながらディープラーニングを学べる入門書になっています。
囲碁プログラミングを題材にして、ディープラーニングの概念を初級から中級レベルの内容まで解説しています。

book.mynavi.jp

表紙のイラストは、天地明察の槇えびし先生です!


4/14(日)の技術書典6で、マイナビ出版「こ21」から先行販売されます。
どうぞよろしくお願いいたします。


サポート情報(非公式)

出版社のサイトに記載される前の情報について記載します。

  • p.103 図4.1

【誤】左側の図の四角の印の右隣の石は黒
【正】左側の図の四角の印の右隣の石は白

  • p.103 図4.1 Bの説明

【誤】Bに打つと白の方が良いかもしれないが、黒は取られる心配がなくなる
【正】Bに打つと白にとってさらに良いかもしれないが、黒は悩む必要はない

  • p.218 リスト7.17

【誤】X, y = generator.next()
【正】X, y = generator.__next__()

  • p.60 リスト3.6

【箇所】
else:
if neighbor_string not in adjacent_opposite_color:
adjacent_opposite_color.append(neighbor_string)
【誤】else:ブロックのインデントが1つ深い

  • 補足

サンプルのスクリプトを実行するには、codeディレクトリにあるsetup.pyを実行する必要があります。
codeディレクトリで、
pip install -e .
を実行してください。
GPUを使用する場合は、実行する前にcodeディレクトリにあるsetup.pyのtensorflowをtensorflow-gpuに書き換えてください。
これによりパッケージがインストールされます。アンインストールするには、
pip uninstall dlgo
を実行してください。

  • TensorFlow、Keras、NumPyバージョンについて

masterブランチと章ごとのブランチでsetup.pyに記述されているバージョンが異なっています。
masterブランチのsetup.pyでは、

      install_requires=[
            'numpy<=1.14.5', 
            'tensorflow>=1.10.1', 
            'keras==2.2.2', 

となっていますが、章ごとのブランチではバージョンが指定されていないため、最新バージョンがインストールされます。
バージョン不整合が起きる場合はsetup.pyをmasterブランチと同じにするか、masterブランチのsetup.pyのバージョン番号指定を削除してください。
また、最新のTensorFlow(1.13.1)では、古いnumpyのバージョンでは動かないため、numpyのバージョンが必要です。
したがって、masterブランチのsetup.pyのnumpyのバージョン指定を削除し、numpyのバージョンアップ(pip install numpy -U)を行う必要があります。
バージョンを指定してインストールする場合は、
pip uninstall tensorflow
pip uninstall keras
pip install tensorflow==1.10.1
pip install keras==2.2.2
のようにアンインストールしてからバージョンを指定してインストールしてください。(TensorFlowでGPUを使用する場合は、tensorflow-gpuとしてください。)