TadaoYamaokaの開発日記

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

2019-04-01から1ヶ月間の記事一覧

【iOS開発】フレームレートに合わせて描画する

今まで音声解析の結果を画面に表示する際に、AudioQueueNewInputのコールバックで、UIViewのsetNeedsDisplayを呼ぶようにしていましたが、最新のXcodeだと、メインスレッドで呼ぶように警告がでるようになっていました。元々UIViewの処理は、すべてメインス…

【iOS開発】iCloudにエクスポート/インポートする

しばらく更新していなかったiOSアプリを久しぶりに開発しています。メールで、アプリで保存したファイルを取り出せないのかという質問/要望を何通かもらっていたので、iCloudにエクスポートできるようにしました。 実装方法をメモっておきます。 共通 ViewCo…

将棋AIの進捗 その29(自己対局におけるノードの再利用)

先日の記事に書いたが、AlphaZeroは自己対局時にノードの再利用を行っている。 dlshogiでは、先手が探索した結果を後手が利用することになるため(逆も同様)、先手と後手の探索のバランスが崩れるため、ノード再利用を行わず各手番でハッシュをクリアしてい…

ビルド済みChainerからソースビルド版に戻す

Chainer/CupyはWindowsは正式にサポートされていないが、問題なく動作する。 最近のバージョンでは、Windows向けにもビルド済みパッケージも提供されているので、以前は必要だったVisual Studioがなくてもインストールできる。先日、開発環境をVisual Studio…

WindowsでLeela Chess Zeroをビルドしてデバッグする

人の書いたソースを調べる際、動かせるようにしてからデバッガでステップ実行すると理解しやすい。Leela Chess Zeroのソースをたまに参照していたが、詳細に実装を調べるために、デバッガで動かせるようにした。 公式のビルドの説明の通りだが、手順をメモし…

技術書典6の報告と委託販売のお知らせ

技術書典6無事終了しました。 来てくださった方、ありがとうございました。 コンピュータ将棋将棋選手権、応援してますと声をかけてくださったりしてうれしかったです。新刊は150部用意していったのですが、用意した部数はちょうどでした。 数部残ったので世…

【お知らせ】技術書典6

すでに当ブログで告知していますが、技術書典6で「ディープラーニングを使った将棋AIの作り方~強化学習編~」という本を出します。 内容は、AlphaZero Shogiの仕組みと実装についてです。 電子版のコードも付属します。価格は500円です。チェック数が印刷部…

PythonでAlphaZero Shogiを実装する その4

迫田さんのブログで、AlphaZeroは自己対局時にノードを再利用しているという根拠のリンクが貼られていて、確認したことろ確かにDeepMindの中の人がノードを再利用していると答えていました。 Accelerating Self-Play Learning in Goを読んだ - 水たまりAlpha…

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

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

将棋AIの進捗 その28(探索時のノイズの効果)

世界コンピュータ選手権まで残り1ヵ月もなくなったので、強化学習で強くするのはあまり望めないので探索部の調整を行っている。以前のdlshogiでは、Policyの読み漏れによって、受けを間違えて数手先で詰まされる状況がよく起きていたため、Policyにノイズを…

Python環境をVisual Studio 2017に移行

Python3.5はVisual Studio 2015でビルドされているため、余計なトラブルを避けるためVisual Studio 2015を使い続けてきた。最近、Visual Studio 2015が起動して数分後に30秒くらい固まる現象が起きて、再インストールしたりしたが直らないので、しばらく我慢…