CNTK 連結庫 API
CNTK 在 Python 中提供連結庫、C++ 以進行網路組合和定型,以及模型評估。 它也提供 C#/.NET 和 Java 中的連結庫,以存取 CNTK 模型評估設備。
Python API
CNTK Python API 包含模型定義和計算、學習演算法、數據讀取和分散式定型的抽象概念。
- 彈性和精簡性:這些抽象概念會以正交方式撰寫,提供任意神經網路定義和定型的彈性和簡潔性。
- 有效率的數據介面:簡單但輕量型的數據介面可讓使用者有效率地以原生 numpy 陣列的形式將數據饋送至計算引擎。
- 內建數據讀取器:CNTK 的內建優化和可調整數據讀取器,適用於影像、文字格式和語音 HTK 數據格式,也可從 Python API 取得,讓您不需要撰寫任何數據讀取程式代碼,即可輕鬆地直接定型現有數據。
- 高度可調整的學習:API 會公開 CNTK 的可高度擴充分布式定型功能, (平行化演算法,例如 1 位的 SGD) 。 分散式定型範例說明定型平行處理 API。
- 精簡的網路定義:API 包含高 階層連結庫 ,可啟用精簡的進階類神經網路定義,包括類似 CNTK V1 的週期。 工具組支援以符號形式表示遞歸模型,做為類神經網路中的迴圈,而不需要靜態取消卷動週期步驟。 這會產生更一般、簡潔且有效率的表示法,以及遞歸神經網路的執行。
CNTK Python API 中的所有核心計算、學習和數據讀取 API 抽象概念都很容易從 Python 和 C++ 擴充,讓使用者可以輕鬆地實作新的運算符、學習者和數據讀取器,以自由撰寫連結庫的內建設備。
API 引進新的 通訊協定緩衝區 型模型串行化格式,可支援儲存模型的回溯和向上相容性。
C++ API
CNTK 連結庫 C++ API 會針對開發人員公開 CNTK 的核心計算、神經網路組合 & 定型、有效率的數據讀取,以及可調整的模型訓練設備。 C++ API 完全適用於模型定型和評估,可讓定型和模型服務從機器碼驅動。 這可讓您的機器碼使用新的數據作為評估要求的一部分來微調在線模型 (,也就是在線學習) 。
API 檔的最佳來源目前內嵌在 API 頭檔中, (CNTKLibrary.h) ,其中包含完整的 C++ API 定義。 API 頭檔也會包含在 Include 目錄下的二進位版本套件中。
C#/.NET API
CNTK 連結庫受控 API 會針對使用 C# 或其他 .NET 語言的開發人員公開訓練和評估相關 API。 它會以 NuGet 套件的形式提供。 NuGet 套件 CNTK。CPUOnly 僅適用於 CPU 裝置和 CNTK。GPU 同時支援 CPU 和 NVIDIA GPU。
如需 CNTK 連結庫受控 API 的詳細資訊,請參閱 CNTK 連結庫受控 API 頁面。
CNTKLibraryEvalExamples.sln專案中有數個評估範例示範如何在 C# 中評估模型。
您可以在 CNTKLibraryCSharpTrainingExamples.sln 中找到使用 C# API 的訓練範例
Java API (實驗性)
CNTK Java API 支援 Java 中的模型評估。 此 API 仍為實驗性,可能會有所變更。 它會以 jar 檔案的形式提供, (cntk.jar) 可包含在 Java 專案中。
請參閱 Windows 和Linux 指示,以瞭解如何使用 Java API。
Java 範例示範如何在Java中評估模型。