◆ CNTK ( Microsoft Cognitive Toolkit ) 2.2 の少しだけ高度な Python API ガイドです。
タイトルにもありますように (他の) 深層学習フレームワークを経験されている方を対象読者の中心として想定しています。
CNTK は初めてであるけれども深層ニューラルネットワークについてある程度の知識があり、他の深層学習フレームワークの経験があるユーザのために意図されています。
そしてもちろん、入門シリーズ (CNTK 2.2 Python API 入門 (1) 基本, (2) 2 クラス分類, (3) MNIST, (4) LSTM, (5) オートエンコーダ, (6) 総集編) に多少なりとも目を通された方も想定しています。入門シリーズ読者は知識の整理に利用できるでしょうし、違った角度からの説明も見出すでしょう。
◆ CNTK は Microsoft 製品グループで様々なサービス – 音声認識・機械翻訳、各種画像分類サービス、Bing 検索ランキング等々を提供するために利用されているそうです。そして実際に使ってみると優れた特徴がたくさん見つかります。しかしながら、現時点では CNTK Python プログラミングに関する情報が少ないために CNTK の利用を躊躇されているかたも多いかと思いますので、CNTk 2.2 Tutorials (200 番台、中級~) への橋渡しとなるような Python API 記事の作成を続けていきたいと考えています。
本記事では、CNTK Python API 全体を俯瞰した後、CNTK のデータモデル/プログラミングモデルを紹介します。
CNTK のネットワークは関数オブジェクトですが、この関数オブジェクトを上手く利用すれば簡潔で柔軟な実装が可能です。
そして CNTK における深層学習モデリングから配備 (デプロイ) までの全体の流れをつかむことも一つの主眼としています :
- CNTK モデル定義 => データ供給 => トレーニング/評価 => 配備
詳細 : CNTK 2.2 Python API ガイド – 深層学習フレームワーク経験者のために (関数オブジェクト, 分散, TensorBoard)