数字を分類するニューラルネットワークの実装をやってみる2-3


ニューラルネットワークと深層学習の6章にあるnetwork3.pyをubuntu 16.04 + Python3.xでやってみます。

畳み込みニューラルネットワークの実装です。

ソース GitHub


Python 2.x -> Python 3.xへの主なコード修正はこのページ参照

network3.pyの修正コードは以下参照


network3.pyでは機械学習用ライブラリとしてTheanoを使っています。

Theanoのインストール

Kerasをubuntu 16.04 LTS へインストールのページにTheanoのインストも書いています。

Theanoはもう開発中止になっているので、別途Keras + TensorFlowでもやってみる予定。

ただ現状、TheanoもMNISTもこれ以上やる意味はないので、思案中。

感覚というか勘というか….を養う意味でいろいろいじってみるのは重要か?

 


network3.pyで100のニューロンを含む隠れ層を1つだけを持つ浅いネットワークを
エポック数60、学習率0.1、ミニバッチサイズ10、正規化なしの条件で実行してみます。

実行用ファイル

run3.py

 

 

$ python3 run3.py

 

 

テキストとほぼ同じ精度です(が、ここでもnetworkやnetwor2と同様に重みとバイアスはランダムに初期化されているので、たまたまだと思います)。


network3.py

先頭に#でコメントアウトしたすぐ下の行がPython3用修正コードです。

GPUフラグがFlaseになっているのは、わがPCにはGPUが無いからで、お持ちの方はTrueでお願いします。

 

 


工事中

テキストの課題を解かねば……

テキストの6章ではnetwork3.pyでいろいろな実験的試みを行っています。

GPUを使う場面もありそうです、さくらインターネットの高火力サーバーも使ってみる予定です。

 


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*