TadaoYamaokaの開発日記

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

2016-06-01から1ヶ月間の記事一覧

CaffeでAlphaGoのSL policy networkを定義する

以前にChainerを使って、AlphaGoのSL policy networkを定義しましたが、Caffeでも定義してみました。Caffeでのモデル定義は、prototxt形式で記述します。SL policy networkは以下のように定義できます。 sl_policy_network.prototxt name: "SLPolicyNetwork"…

Caffeを使ってC++で3層パーセプトロンを学習する

前回の日記でCaffeをC++から使うことができたので、3層パーセプトロンを学習させてみた。Caffeではモデルをprototxt形式で記述する。 学習方法を記述したsolver.prototxtとネットワークを記述したnet.prototxtの2つのファイルを作成する。 ファイル名は別の…

WindowsでビルドしたCaffeをC++から使う

前回の日記でWindowsでビルドしたCaffeをC++から使うことができたので方法を書いておきます。Windows版caffeをビルドしたVisual Studio 2013のソリューションにプロジェクトを追加する形でプロジェクトを作成します。 はじめソリューションを新規作成して、…

WindowsでCaffeをビルドしてGPUで実行する

※2017/3/15追記 Windows版のリポジトリでビルド済みのバイナリが配布されています。自分でビルドしないでもそちらのバイナリを使用することをお勧めします。 ビルド済みのバイナリのインストール方法とサンプルの実行方法はこちらの日記を参照ください。Wind…

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

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

Visual Studio 2015 Communityの日本語インストーラ

ゴールデンウィークにCPUとマザーボードを変えたので、Windows 10を再インストールした。その後、Visual Studio 2015 Communityをインストールしたら、日本語パックをインストールしても、一部英語のままで完全に日本語にならず困っていた。最悪なのは、アプ…

WindowsでcuDNNを使用して畳み込みを行う(活性化関数追加)

前回の日記で実装した畳み込みのコードに活性化関数を追加しました。活性化関数は、cudnnCreateActivationDescriptorでハンドルを作成し、cudnnSetActivationDescriptorでどの関数を使用するか選択し、cudnnActivationForwardで実行できます。活性化関数とし…

WindowsでcuDNNを使用して畳み込みを行う(bias追加)

前回の日記でcuDNNで実装した畳み込みにbiasを追加した。畳み込みのバイアスは、フィルターごとに加算する。バイアスは、[1][フィルター数][1][1]の4次元配列となる。cudnnCreateTensorDescriptorで、[1][フィルター数][1][1]の4次元配列を定義する。畳み込…

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) …

CUDAを使ってみた

SL policy networkをChainerを使って学習した結果を、囲碁プログラムに組み込む際、C++のプログラムからDCNNの実行のためにpythonプログラムを呼ぶとオーバーヘッドが大きい。 できれば、DCNNをC++から実行したい。 順伝播のみであれば、ディープラーニング…

【Androidアプリ】ボーカル音程モニター バージョンアップ 1.2.2

バグの指摘を頂いたので修正しました。マイナースケールの6度の線が表示されないというバグです。 リリース前にちゃんとテストしないとだめですね。 iOS版も同じバグがあるので直す予定です。play.google.com

学習アルゴリズム変更

前回の日記で、SGDでSL policy networkを学習し、学習が成功していることが確かめられた。学習アルゴリズムをSGDにしたのは、AlphaGoの論文で採用されていたからだ。収束に非常に時間がかかるので、別の方法だともっと収束が早くならないか試してみた。 また…

SL policy networkの学習

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