これは、Microsoft Cognitive Toolkit V2 の最初の実稼働リリースです。 私たちは、貴重なフィードバックと貢献を提供したすべての人に感謝したいと思います。 このリリースは、それらなしでは発生しなかったでしょう。
このリリースのハイライト
- Keras のCNTK バックエンド
- ハロゲン化物による極めて高速な二項畳み込み
- Java API
Keras のCNTK バックエンド
この機能を求めるファンに、ベータ版リリースとして Keras のバックエンドとしてCNTKをお寄せいただけることを嬉しく思います。 まだ機能とパフォーマンスの作業は残されていますが、Keras のサポートをベイクするのに役立つ早期のフィードバックをお待ちしております。 インストール手順と詳細については、 このページを参照してください。
ハライドによる二項畳み込み
このリリースには 、 バイナリ畳み込みネットワーク ( Courbariaux による BinaryConnect を参照) のトレーニングを実装する例と、バイナリ畳み込みモデルを高速に評価するための高度に最適化されたネイティブ C++ 実装が含まれています。 C++ バイナリ畳み込みの実装では、 ハライド フレームワーク を使用して、最新の CPU で使用可能なマルチスレッドとベクター命令を最適に使用します。 32 ビット浮動小数点精度でトレーニングおよび評価された同等の畳み込みネットワークよりも最大 10 倍速く実行されます。
Java API のCNTK
CNTK V.2.0 RC 3 以降では、Windows および Linux 上の Java でのモデル評価をサポートするために Java API が追加されています。 API はまだ 試験段階 であり、変更される可能性があることに注意してください。 コミュニティからのフィードバックは大歓迎です。 詳細については、 このページを参照してください。
新機能
- ランダム変数をグラフの一部として使用できるようになりました。 モジュールの下
cntk.random
には、次のものがあります:uniform
,normal
,bernoulli
, およびgumbel
対応するもの_like
(例:uniform_like
) 。 - 新しい学習器: ユニバーサル学習者は、更新メカニズムとしてCNTKグラフを使用します。
- をラップ
training_session
Trainer
する新しい高レベルtrain()
およびtest()
関数、およびEvaluator
. 使用例については、「 Examples/1stSteps and Tutorials/CNTK_200_GuidedTour.ipynb」を参照してください。 training_session
、train()
およびtest()
(データ リーダーに加えて) numpy/scipy 配列の形式でデータを受け入れるようになりました。 リーダーで numpy/scipy 配列をラップする新しいクラスMinibatchSourceFromData
に基づいて構築されます。
互換性に影響する変更
このリリースには、次の 破壊的変更が含まれています。
- C++
ReaderCrop
API:cropSize
、sideRatio
を選択areaRatio
し、aspectRatio
次のscalar
代わりに使用std::pair
します。cropSize
: takeswidth
とheight
.sideRatio
、areaRatio
およびaspectRatio
takemin
とmax
values。
- CNTK V.2.0 RC3 以降、
cntk.ops.input
cntk.ops.sequence.input
非推奨となりました。 私たちは、使用input_variable
して戻って戻ってきました.sequence.input_variable
古いinput_variable
動作との違いは、既定で動的軸がなくなった点cntk.ops.input_variable
です。 source
のパラメーターとmb_size
CrossValidationConfig
名前TestConfig
が変更minibatch_source
minibatch_size
されています。 古いパラメーターが使用されている場合は、非推奨のメッセージが表示されます。
CNTK NuGet パッケージ
このリリースでは、NuGet パッケージ (バージョン 2.0.0) の新しいセットが提供されます。