TadaoYamaokaの開発日記

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

Chainer

ChainerのモデルをC++で読み込む

以前の日記でAlphaGoのSL policy networkをChainerで学習した結果をC++の囲碁プログラムで使用したいと考えている。 その際、C++からPythonを実行するのでは、オーバーヘッドが大きく、実行環境のハードルが上がりポータビリティが下がってしまう。 そこで、…

WindowsでcuDNNを使用して畳み込みを行う

前回の日記で書いた方法でChainerのコードを調べつつ、WindowsでcuDNNを使用して畳み込みを行うことができたので、方法を示しておく。 使用バージョン Windows 10 CUDA7.5 cuDNN v5 Visual Studio 2015 cuDNN v5を使用するには、CUDA7.5が必要になる。 CUDA7…

Chainerをデバッグする

WindowsでVisual C++で作成したC++のプログラムからDCNNを実行したいが、C++に対応したライブラリを動かすのに苦労している。 Caffeを試しているがビルドはできて、CPUでは実行できたが、GPUで実行すると謎の check failed: error == cudasuccess (8 vs. 0) …

SL policy networkの学習

前回の日記でChainerで作成したAlphaGoのSL policy networkをプロの棋譜を使って学習させてみた。棋譜は、以前と同様、インターネットの棋譜サイトから入手したプロの棋譜を使用した。まずは、学習がうまくいくか様子をみるため、特徴はAlphaGoの論文のExten…

Chainerで位置ごとに異なるバイアスを定義する

前回の日記で、AlphaGoのSL policy networkをChainerで定義した際に、layer13の位置ごとに異なるバイアスを、(19*19)次元のベクトルとして、Convolution2Dを1次元にreshapeした後、足し合わせていたが、ミニバッチにした場合うまくいかないことが分かった。V…

WindowsでChainerをGPUを使って動かす

※最新の情報はこちらの日記を合わせて参照ください。WindowsでChainerをGPUを使って動かすことができたので、手順をメモっておきます。使用したソフトのバージョンは以下の通りです。 Windows 10 Home 64bit Python 3.5.1(Anaconda 4.0.0 64bit) CUDA 7.5 cu…

Chainerで3層パーセプトロンの誤差逆伝播を実装してみた

前回の記事で、numpyを使って行列演算で3層パーセプトロンを実装しましたが、同じことをChainerを使って実装してみます。 import numpy as np import chainer from chainer import Function, Variable, optimizers from chainer import Link, Chain import c…

WindowsでChainerを試す

音声データの特徴量の抽出を試行錯誤するよりも、 ディープラーニング使っちゃえばいいじゃねって 考え始めたので、ぼちぼちディープラーニングの勉強を始めました。 とりあえず、この本を読み始めました。 手を動かさないとモチベーションを保てないので、 …