CNTK 2.2 Python API 入門 (3) – MNIST 総集編 (CTF / 多項 LR, MLP & CNN)

CNTK 2.2 Python API 入門 (3) – MNIST 総集編 (CTF / 多項 LR, MLP & CNN)
0. はじめに
◆ CNTK ( Microsoft Cognitive Toolkit ) 2.2 の Python API 入門第3弾です。
今回は MNIST 総集編として、CNTK CTF フォーマットでセーブした MNIST データセットを題材にして
3種類のモデルを CNTK Python API で実装して多クラス分類問題を解いてみます。
前回までの記事 (CNTK 2.2 Python API 入門 (1), (2)) で CNTK 2.2 について次のような点がお分かり頂けたかと思います :
Python API が公開されていて、他の深層学習フレームワークと同様に Python プログラムで深層学習モデルが構築できます。
層ライブラリのような、深層学習フレームワークでお馴染みのビルディング・ブロックも多数用意されています。
ネットワーク定義は Python 関数オブジェクトとして実装され、For ループや lambda 記法も利用できる Python ライクな記法で簡潔に定義可能です。
Trainer クラスでカプセル化したトレーニングの実装も分かりやすく簡潔です。
引き続き、CNTK 2.2 Tutorials への橋渡しとなるような CNTK 2.2 Python API の入門記事を作成していきます。
※ Python と機械学習の基本的な知識を持つ読者を想定しています。
※ 他の深層学習フレームワークの経験があれば問題なく読み通せます。
今回の題材は定番の MNIST データセットですが、CTF (CNTK Text-Format) フォーマットで扱う点が特徴的です。
そして CNTK で実装するモデルは多項ロジスティック回帰, 多層パーセプトロン (MLP), そして畳み込みネットワーク (CNN) の3種類になります。
チュートリアルのプログラムを参考にしながら、分かりやすい構成にして平易な言葉で説明することを心がけました。
入門という位置づけですので基礎理論にも言及はしますがそれは要点のみにとどめて、
CNTK Python API の説明を重視してプログラマ視点から実践的な内容にしてい

サイト名: Qiita

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する