親愛なるコミュニティ、
ONNX と ONNX ランタイムに対する継続的なコントリビューションにより、AI フレームワーク エコシステム内での相互運用が容易になり、従来の ML モデルとディープ ニューラル ネットワークの両方に対して高パフォーマンスのクロスプラットフォーム推論機能にアクセスできるようになりました。 ここ数年、このような主要なオープンソース機械学習プロジェクト (Microsoft Cognitive Toolkitを含む) を開発する特権が与えられています。これにより、ユーザーは業界全体のディープ ラーニングの進歩を大規模に活用できます。
今日の 2.7 リリースは、CNTK の最後のメイン リリースになります。 バグ修正のために後続のいくつかのマイナー リリースがある場合がありますが、これらはケースバイケースで評価されます。 このリリース後の新機能開発の計画はありません。
CNTK 2.7 リリースでは、ONNX 1.4.1 が完全にサポートされており、ONNX と ONNX ランタイムを利用するために CNTK モデルを運用可能にしようとしている方にお勧めします。 今後も、ユーザーは、それをサポートするフレームワークの数を通じて、進化する ONNX イノベーションを引き続き活用できます。 たとえば、ユーザーは、OnNX モデルを PyTorch からネイティブにエクスポートしたり、TensorFlow-ONNX コンバーターを使用して TensorFlow モデルを ONNX に変換したりできます。
私たちは、CNTKの最初のオープンソースリリース以来、長年にわたって共同作成者やユーザーから受け取ったすべてのサポートに非常に感謝しています。 CNTK では、Microsoft チームと外部ユーザーの両方が、フレームワークの発信元である Microsoft Speech の研究者によって達成された音声認識の歴史的なブレークスルーなど、あらゆる方法で、ディープ ラーニング アプリケーションのすべての方法で複雑で大規模なワークロードを実行できるようになりました。
ONNX は、Bingや Office などの Microsoft 製品全体で使用されるモデルの提供にますます採用されるようになり、エコシステムを前進させるための厳密な生産要求と研究からのイノベーションの合成に専念しています。
何よりも、Microsoft の目標は、ソフトウェアとハードウェア スタック全体のディープ ラーニングのイノベーションを、可能な限りオープンでアクセスしやすいものにすることです。 私たちは、CNTKの既存の強みと新しい最先端の研究の両方を他のオープンソースプロジェクトに取り組み、そのような技術の範囲を真に広げていきます。
感謝の気持ちを込めて、
-- CNTK チーム
2019-03-29. CNTK 2.7.0
このリリースの重要なポイント
- Windows と Linux の両方について CUDA 10 に移行しました。
- ONNX エクスポートでの高度な RNN ループをサポートします。
- ONNX 形式で 2 GB を超えるモデルをエクスポートします。
- Brain Script train アクションで FP16 をサポートします。
CUDA 10 の CNTK サポート
CNTK で CUDA 10 がサポートされるようになりました。 これには、Visual Studio 2017 v15.9 for Windows への環境をビルドするための更新プログラムが必要です。
Windows でビルド環境とランタイム環境を設定するには:
- Visual Studio 2017 をインストールします。 注: CUDA 10 以降では、特定の VC Tools バージョン 14.11 をインストールして実行する必要はなくなりました。
- Nvidia CUDA 10 をインストールする
- PowerShell から、実行: DevInstall.ps1
- Visual Studio 2017 を起動し、CNTK.slnを開きます
Docker を使用して Linux でビルド環境とランタイム環境をセットアップするには、 Dockerfiles を使用して Unbuntu 16.04 docker イメージをビルドしてください。 その他の Linux システムについては、CNTK の依存ライブラリをセットアップするための Dockerfiles を参照してください。
ONNX エクスポートでの高度な RNN ループのサポート
再帰ループを含む CNTK モデルは、スキャン操作を使用して ONNX モデルにエクスポートできます。
ONNX 形式で 2 GB を超えるモデルをエクスポートする
ONNX 形式で 2 GB を超えるモデルをエクスポートするには、cntk を使用します。関数 API: 'format' が ModelFormat.ONNX に設定され、use_external_files_to_store_parametersが True に設定された save(self, filename, format=ModelFormat.CNTKv2, use_external_files_to_store_parameters=False) この場合、モデル パラメーターは外部ファイルに保存されます。 エクスポートされたモデルは、onnxruntime でモデル評価を行うときに、外部パラメーター ファイルと共に使用する必要があります。
2018-11-26.
Netron では、CNTK v1 ファイルと CNTK v2 .model ファイルの視覚化がサポートされるようになりました。


##September 2018 2018-09-17。 CNTK 2.6.0 のハイライト:
- .Net のサポート
- 効率的なグループ畳み込み。
- 連続畳み込みの改善。
- より多くの演算子と既存の演算子の改善。
- ONNX 1.2.2 をサポートするための ONNX 機能の更新。
- ONNX コンバーターでサポートされるその他の操作。
- バグが修正されました。
詳細については、 リリース ノートを参照してください。 [CNTK リリース] ページからリリースを取得します。
2018 年 4 月
2018-04-16. CNTK 2.5.1
ハイライト:
- バンドルに含まれるサードパーティ製ライブラリを使用して CNTK 2.5 を再パックします。
2018 年 3 月
2018-03-15. CNTK 2.5
ハイライト:
- プロファイラーの詳細の出力形式を変更します。
- ノードごとのタイミングを有効にします。
- MKL を使用した CPU 推論パフォーマンスの向上。
- CNTK に組み込まれた 1BitSGD。
- 新しい損失関数。
- 複数の学習者による分散トレーニング。
- その他の IP。
- ONNX のバグ修正と更新。
詳細については、 リリース ノートを参照してください。 [CNTK リリース] ページからリリースを取得します。
2018 年 1 月
2018-01-31. CNTK 2.4
ハイライト:
- CUDA9、cuDNN 7、Visual Studio 2017 に移行しました。
- Python 3.4 のサポートを削除しました。
- Volta GPU と FP16 のサポートが追加されました。
- より優れた ONNX サポート。
- CPU パフォーマンスの向上。
- その他の IP。
詳細については、 リリース ノートを参照してください。 [CNTK リリース] ページからリリースを取得します。
2018-01-22. CUDA 9 の CNTK サポート
CNTK で CUDA 9/cuDNN 7 がサポートされるようになりました。 これには、Ubuntu 16/GCC 5 for Linux と Visual Studio 2017/VCTools 14.11 for Windows への環境をビルドするための更新が必要です。 CUDA 9 では、CNTK は 16 ビット浮動小数点 (FP16) 計算のプレビューも追加しました。
ResNet50 の FP16 の例をここでチェックしてください
FP16 プレビューに関する注意事項:
- CPU での FP16 の実装は最適化されておらず、CPU 推論で直接使用されることは想定されていません。 ユーザーは、CPU で実行する前に、モデルを 32 ビット浮動小数点に変換する必要があります。
- FP16 トレーニングの損失/条件は、キャスト関数を使用して、オーバーフローのない累積に対して 32 ビットである必要があります。 上記の例をチェックしてください。
- numpy を使用してデータをフィードしない限り、リーダーには FP16 出力がありません。FP32 から FP16 へのキャストが必要です。 上記の例をチェックしてください。
- FP16 グラデーション集計は現在、NCCL2 を使用して GPU でのみ実装されています。 MPI を使用した FP16 による分散トレーニングはサポートされていません。
- FP16 数学は、現在の FP32 実装のサブセットです。 一部のモデルでは、FP16 を使用して機能が実装されていない例外が発生する場合があります。
- FP16 は現在、BrainScript ではサポートされていません。 FP16 には Python を使用してください。
Windows でビルド環境とランタイム環境を設定するには:
- 次のワークロードとコンポーネントを含む Visual Studio 2017 をインストールします。 コマンド ライン (例としてコミュニティ バージョン インストーラーを使用): vs_community.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Universal --add Microsoft.Component.PythonTools --add Microsoft.VisualStudio.Component.VC.Tools.14.11
- NVidia CUDA 9 をインストールする
- PowerShell から、実行: DevInstall.ps1
- VCTools 14.11 コマンド ラインを起動し、次を実行します。 cmd /k "%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" x64 --vcvars_ver=14.11
- VCTools 14.11 コマンド ラインから CNTK.sln を開きます。 VCTools 14.11 コマンド ライン以外のCNTK.slnを開始すると、CUDA 9 ビルド エラーが発生することに注意してください。
Docker を使用して Linux でビルド環境とランタイム環境をセットアップするには、 Dockerfiles を使用して Unbuntu 16.04 docker イメージをビルドしてください。 その他の Linux システムについては、CNTK の依存ライブラリをセットアップするための Dockerfiles を参照してください。
2017 年 11 月
2017-11-22. CNTK 2.3 Cognitive Toolkit v.2.3 のリリース。
ハイライト:
- より優れた ONNX サポート。
- 分散トレーニングのパフォーマンスを向上させるために NCCL2 に切り替えました。
- 改善された C# API。
- OpenCV は CNTK をインストールするために必要ありません。Tensorboard イメージ機能とイメージ リーダーにのみ必要です。
- さまざまなパフォーマンスの向上。
- ネットワーク最適化 API を追加しました。
- スパースの場合は Adadelta の方が高速です。
詳細については、 リリース ノートを参照してください。
[CNTK リリース] ページからリリースを取得します。
2017 年 9 月
2017-09-24. CNTK R バインド
CNTK R バインディングは、 で解放されます。 https://github.com/Microsoft/CNTK-R
2017-09-15. CNTK 2.2
Cognitive Toolkit v.2.2 のリリース。
ハイライト:
- ドキュメント
- 検索できるように、HTML バージョンのチュートリアルとマニュアルを追加する
- 更新された評価ドキュメント
- システム
- Volta GPU でのトレーニングの 16 ビット サポート (機能制限あり)
- NCCL 2 のサポート
- CNTK 学習者インターフェイスの更新
- ユーザーがネットワークを構築してトレーニングできるようにする C#/.NET API
- CNTK の R バインディング
- 例
- 高速 R-CNN と高速 R-CNN を使用した物体検出
- 新しい C++ Eval の例
- 新しい C# Eval の例
- Operations
- ノイズコントラスト推定ノード
- AttentionModel の改善
- 埋め込みレイヤーのスパース グラデーションでの集計
- 1D データに対する畳み込みを有効にするために、C++ での畳み込みのランクが低下しました
- 拡張畳み込み (GPU のみ)
- 畳み込みのための無料の静的軸のサポート
- 決定論的プール
- Python API にトリミング ノードを追加する
- パフォーマンス
- AlexNet で CPU の推論速度を約 2 倍向上させるための Intel MKL 更新プログラム
- Keras と Tensorboard
- CNTK での Keras のマルチ GPU サポート
- CNTK の Tensorboard イメージのサポート
詳細については、 リリース ノートを参照してください。
[CNTK リリース] ページからリリースを取得します。
2017 年 7 月
2017-07-31. CNTK 2.1
Cognitive Toolkit v.2.1 のリリース。
ハイライト:
- cuDNN 6.0 の統合
- ユニバーサル Windows プラットフォーム (UWP) のサポート
- Keras のバックエンドの機能強化
- パフォーマンスの向上
- 新しいマニュアル、チュートリアル、例
- 複数のバグが修正されました
詳細については、 リリース ノートを参照してください。
[CNTK リリース] ページからリリースを取得します。
2017 年 6 月
2017-06-26. ディープ ラーニングと CNTK の両方の使用を開始するための優れたクラスである Deep Learning Explained が edX で利用できるようになりました。
2017-06-01. CNTK 2.0
Cognitive Toolkit 2.0 の最初の実稼働リリース。
ハイライト:
- Keras の CNTK バックエンド。
- ハロゲン化物による極めて高速なバイナリ畳み込み。
- Java API。
- NuGet パッケージの新しいセット。
- 複数のバグ修正。
詳細については、 リリース ノートを参照してください。
[CNTK リリース] ページからリリースを取得します。
2017 年 5 月
2017-05-24. CNTK 2.0 リリース候補 3
リリース候補 3 は、Cognitive Toolkit v.2.0 の最終プレビューです。
ハイライト:
- 以前に非推奨として宣言された API が 削除されました。 詳細については、 リリース ノートを参照してください。
- 実験モードでの CNTK Java API の導入。 詳細については、 リリース ノートを参照してください。
- や
sequence.unpackなどのto_sequence新しい演算子。 - 1D での畳み込みのサポート。
- UDF シリアル化のサポート (Python と C++ のネイティブの両方で使用できます)。
- 新しいツール (クロストーク と RNN 変換)。
- CNTK がソース コードからユーザーによってビルドされる場合の NVIDIA cuDNN v.6.0 のサポート。
- NuGet パッケージの新しいセット。
- 複数のバグ修正。
詳細については、 リリース ノートを参照してください。
[CNTK リリース] ページからリリースを取得します。
2017 年 4 月
2017-04-21. CNTK 2.0 リリース候補 2
リリース候補 2 では、お客様からのフィードバックに対応し、機能、機能、パフォーマンスを改善または追加しました。
ハイライト:
- 、
sequence.reduce_max、sequence.softmaxなどのpow新しい演算子。 - Linux ソース ビルドの新機能 (分散グラデーション集計での GPU Direct RDMA のサポート、V2 グラデーション集計での Python の NCCL サポート)。
- ソースとバイナリのインストールのための Python 3.6 のサポート。 こちらを参照してください。
UserMinibatchSourceカスタムミニバッチソースを書き込むには。 こちらを参照してください。- 新しい C# API:
class NDArrayViewおよび メソッド、SetMaxNumCPUThreads()GetMaxNumCPUThreads()、SetTraceLevel()、GetTraceLevel() - このリリースでは、NuGet パッケージの新しいセットが提供されます。
リリース ノートには概要が含まれています。 CNTK リリース ページからリリースを取得します。
2017 年 3 月
2017-03-31. V 2.0 リリース候補 1
リリース候補 1 では、Microsoft Cognitive Toolkitは、CNTK v.2.0 の実稼働バージョンのリリース前に、最終的な拡張機能セットに入ります。 運用環境バージョンのリリース前に重大な変更は行われませんが、フィードバックをお待ちしております。
ハイライト:
- リリース候補には、 ベータフェーズ中に CNTK 2.0 で導入されたすべての変更と機能強化が含まれています。
- AlexNet、ResNet、VGG、BN-Inception などの画像分類で、Caffe に変換された事前トレーニング済みモデルを有効にします。
- スライスで複数軸スライスがサポートされるようになりました。
- パフォーマンスとメモリ占有領域を向上させる
- デバイス選択 API の機能強化。
- 新しい Python モデルのデバッグ関数。
- Python と C# API の機能強化。 詳細については、 リリース ノート を参照してください。
- CNTK ライブラリと DLL の新しいファイル名。
- さまざまなバグを修正しました。
リリース ノートには概要が含まれています。 CNTK リリース ページからリリースを取得します。
2017-03-24. 重要メモ 破壊的変更 ベータ15と比較してマスターに重大な変更があります。詳細については 、ここをクリックしてください 。
2017-03-16. V 2.0 Beta 15 リリースがDocker Hub
CNTK V 2.0 Beta 15 ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-03-15. V 2.0 Beta 15 リリース
このリリースのハイライト:
- 既存の Python サポートに加えて、BrainScript での TensorBoard 出力のサポートが追加されました。 詳細については、こちらを参照してください。
- 学習者は、 を使用
UserLearnersして純粋な Python で実装できるようになりました。 詳細については、こちらを参照してください。 - 新しいデバッグ ヘルパー:
dump_function()、dump_signature()。 - テンソルは、高度なインデックス作成を使用してインデックスを作成できます。 たとえば
x[[0,2,3]]、最初の軸の 1 番目、3 番目、4 番目の要素を含むテンソルを返します。 - Python API の レイヤー ライブラリ の大幅な更新。 詳細については、「 リリース ノート 」を参照してください。
- C# API の更新と新しい例。
- さまざまなバグを修正しました。
詳細については、 リリース ノートを参照してください。
CNTK リリース ページからリリースを取得します。
2017 年 2 月
2017-02-28. V 2.0 Beta 12 リリースがDocker Hub
CNTK V 2.0 Beta 12 ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-02-23. V 2.0 Beta 12 リリース
このリリースのハイライト:
- 新機能と更新された機能: 新しいアクティブ化関数、および
ArgminのArgmaxサポート、相互運用機能のパフォーマンスのnumpy向上、既存の演算子の新機能など。 - Windows 上の CPU 用 CNTK を Anaconda 3 にインストール
pip installできるようになりました。 他の構成も間もなく有効になります。 - HTK 逆シリアライザーが Python で公開されるようになりました。 すべての逆シリアライザーは C++ で公開されます。
- CNTK のメモリ プールの実装は、新しいグローバル最適化アルゴリズムで更新されました。 ハイパー メモリ圧縮が削除されました。
- C++ API の新機能。
- RNN モデルの新しい Eval の例。
- CNTK V2 C++ ライブラリを使用した新しい CNTK NuGet パッケージ 。
詳細については、 リリース ノートを参照してください。
CNTK リリース ページからリリースを取得します。
2017-02-13. V 2.0 Beta 11 リリースがDocker Hub
CNTK V 2.0 Beta 11 ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-02-10. V 2.0 Beta 11 リリース
このリリースのハイライト:
- 新機能と更新された機能: reduce_prod、すべての軸の削減、分母共有、メモリの改善、& など。
- 新しいチュートリアルと例:
- 新しい CNTK NuGet パッケージ。
- アセンブリの厳密な名前の有効化による 破壊的変更 に注意してください。 「リリース ノート」を参照してください。
詳細については、 リリース ノートを参照してください。
CNTK リリース ページからリリースを取得します。
2017-02-08. V 2.0 Beta 10 リリースがDocker Hubで利用可能
CNTK V 2.0 Beta 10 Runtime パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-02-01. V 2.0 Beta 10 リリース
このリリースのハイライト:
- コアおよび Python API の新機能 (UserFunctions を使用したオペレーター、 Tensorboard サポート、 Python API Fast R CNN)。
- スパース ラベルの CrossEntropyWithSoftmax と ClassificationError の速度が向上しました。
- 新しいチュートリアルと例:
- デコンボリューション レイヤーと画像自動エンコーダーの例の Python バージョンが追加されました (Image - はじめに の例07_Deconvolution)。
- AlexNet を使用した画像分類用の Python 分散トレーニングの例が追加されました。こちらに cf が追加されました。
- 生成敵対ネットワーク (GAN) ネットワークの基本的な実装
- Sampled Softmax を使用したトレーニング
- 新しい CNTK NuGet パッケージ。
詳細については、 リリース ノートを参照してください。 CNTK リリース ページからリリースを取得します。
2017 年 1 月
2017-01-25. V 2.0 Beta 9 リリースがDocker Hub
CNTK V 2.0 Beta 9 ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-01-25. 1bit-SGD Code が GitHub に再配置されます。 影響を受けるユーザーにはサブモジュール構成の更新が必要です
このニュースは、CNTK コード ベースを使用しているユーザーに関連しています。 Binary または Docker ランタイム イメージのインストールを使用する場合は、無視できます。
2017-01-20. V 2.0 Beta 9 リリース
このリリースのハイライト:
- 既定の Python バージョンは 3.5 になりました (クライアント インストールの既定のパラメーターと、Docker Hubのランタイム イメージに関連します)。
- コアおよび Python API の新機能と更新された機能。
- 新しいチュートリアルと例:
- デコンボリューションレイヤーとイメージオートエンコーダーの例(画像 - はじめにの例07_Deconvolution)。
- MNIST データを使用した基本的なオートエンコーダー。
- シミュレートされたデータを含む LSTM 時系列 (パート A) (その他のリリースは次のリリースで提供されます)
- 新しい CNTK NuGet パッケージ。
詳細については、 リリース ノートを参照してください。
CNTK リリース ページからリリースを取得します。
2017-01-19. V 2.0 Beta 8 リリースがDocker Hubで利用可能
CNTK V 2.0 Beta 8 ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。
詳細については、この記事の「Docker イメージとしての CNTK」を参照 してください。
2017-01-16. V 2.0 Beta 8 リリース
このリリースのハイライト:
- Python v. 2.7、3.4、3.5 のサポート。 Python のバージョンを選択する方法については、 バイナリとソースのセットアップ 手順に関するページを参照してください。
- 新しい Python API 機能。
- Python API でトレーニング済みのモデルを使用した新しい Python の機能抽出の例。
- Visual Studio 2015 for Windows バージョンのサポート。
- CNTK 評価ライブラリでの C# API と CNTK NuGet パッケージの新しいセットの概要。
- CNTK ランタイム パッケージは、Docker Hubでパブリック イメージとして使用できるようになりました。 (ベータ7 は現在利用可能です。ベータ 8 イメージの可用性は、数日後に個別に発表されます)
- CNTK カスタム MKL ライブラリのバージョン 3 を使用できます。
詳細については、 リリース ノートを参照してください。
CNTK リリース ページからリリースを取得します。
2017-01-10. CNTK for Windows では Visual 2015 がサポートされます
マスター ブランチをプルまたはマージした場合、CNTK では Windows 上でビルドするために Visual Studio 2015 が必要になります。 開発環境を Visual Studio 2015 に移行するには、次の 2 つの方法があります。
- VS2013 を VS2015 に移行する: これにより、コンポーネントのインストール場所をきめ細かく制御できます
- スクリプト駆動型のセットアップ: これにより、Visual Studio 2015 へのほとんど自動化された移行が提供されます