chainer Variableの使い方

Variableオブジェクトの使い方について記載します。

使用する場合、Variableをインポートします。from chainer import Variable

Variableオブジェクト作成

Variableは、numpyまたは、cudaのデータをパラメータで引き渡して作成します。

Variableでの計算

①のように通常の変数のように計算することができます。(ここでは逆伝番は計算されません)

結果は、 .data に格納されます。

.backward() により逆伝播を処理します。

結果は、 .grad に格納されます。

上記の結果

 

逆伝番での注意

b1とc1の値は、Variableになります。

c1で backward() を行うと以下の結果になります。

b1は計算の対象外になります。
 

Chainer 基本1

説明は、Chainer V4.2 を使用しています。

初歩的な使い方を説明しています。

chainerは、バージョンによってコーディングが、若干違いますので注意

深層学習は、入力層(Input)、隠れ層(Hidden)、出力層(Output)で構成されています。

層から層へ値を渡す処理の、重みとバイアスを調整して、結果を得ます。

 

とりあえずchainerのバージョン確認

 

モデルの作成と使い方

以下は、入力層、出力層で説明します。隠れ層はありません。

線形モデルを生成して、出力値を取得するだけのプログラムです。

・モデルの生成は、リニア(線形)で、入力、出力ともに3層で作成

・重み、バイアスを表示していますが、モデル生成時に自動で生成されます。初期値を設定することもできます。

・入力値に、1、2、3を作成しています。入力値は、32ビットの実数で作成します。

また上記はNumPyの配列ですが、GPUを使う場合は、cuda配列、実際にchainerで使用される、Variableで渡すことができます。

・モデルの戻り値は、Variableなので、結果はy.dataになります。

今回結果は、以下が表示されました。(結果はW,bが自動設定なので異なります)

上記のプログラムでは、何の役にも立ちませんので、以下学習させて、重み、バイアスを調整して結果が出せるようにします。

モデルの学習

以下は、入力に1,2,3を入れて、出力に2,3,4を出力するように学習します。

・ オプティマイザの、深層学習で用いられる勾配法は様々あり(SGD, Momentum SGD, AdaGrad, RMSprop, AdaDelta, Adam)などがあります。今回はSGDを使用しています。

・回帰処理(mean_squared_error)をしているので、教師データは32ビット実数にします。(分類処理の場合[softmax_cross_entropy]、intの整数になります)

実行結果

学習されるにつれ、モデルの出力値が2,3,4に近づいていきます。

学習前の重み、バイアスと学習後の重み、バイアスが変化しているのがわかります。

※重み、バイアスを調整して答えを引き出すので、答えの出る重み、バイアスがわかるなら学習させる必要はありません。

 

DockerをWindowsにインストール

DockerをWindows10にインストールする手順を記載します。

Windows10 Pro バージョンは1709で行っています。

インストールするDockerは、Hyper-Vを使用しますので、Hyper-Vを有効にする必要があります。

また、VirtualBoxなど仮想マシーンをインストールされている場合は、Hyper-Vを有効にすると起動しなくなるので、注意が必要です。

Hyper-Vのインストール

「コントロールパネル」―「プログラムと機能」-「Windows の機能の有効化または無効化」で、Hyper-Vをオンにします。

以上で、Hyper-Vが使用できます。

Dockerのインストール

1.Get started with Docker for WindowsからDockerのInstall Docker for Windowsをダウンロードします。
「Stable channel(安定版)をダウンロードします。

2.ダウンロードしたファイルを起動させてインストールします。

インストーラは利用規約に同意した後は、何もする必要はないので直ぐに終わります。

3.Hyper-Vマネージャを起動して、(「コントロールパネル」-「管理ツール」-「Hyper-Vマネージャ」)でDockerがインストールされたことを確認します。

インストールされた場合、仮想マシンに[MobyLinuxVN]が作成されています。

 

Kitematicのインストール

Kitematic(カイトマティック)とは、コンテナを視覚的に確認出来るGUIツールです。

Windows右下よりDocerを右クリックします。以下の画面が表示されますので、[Kitematic]をクリックします。

以下画面が表示されたたら、[Download]をクリックするとインストールファイルをダウンロードできます。

ダウンロードしたインストーラを起動してインストールします。