- Microsoft認知工具包(CNTK)教程
- 首頁
- 簡介
- 入門
- CPU和GPU
- CNTK - 序列分類
- CNTK - 邏輯迴歸模型
- CNTK - 神經網路(NN)概念
- CNTK - 建立第一個神經網路
- CNTK - 訓練神經網路
- CNTK - 記憶體資料集和大型資料集
- CNTK - 測量效能
- 神經網路分類
- 神經網路二元分類
- CNTK - 神經網路迴歸
- CNTK - 分類模型
- CNTK - 迴歸模型
- CNTK - 記憶體外資料集
- CNTK - 監控模型
- CNTK - 卷積神經網路
- CNTK - 迴圈神經網路
- Microsoft認知工具包資源
- Microsoft認知工具包 - 快速指南
- Microsoft認知工具包 - 資源
- Microsoft認知工具包 - 討論
Microsoft認知工具包(CNTK) - 簡介
在本章中,我們將學習什麼是CNTK,它的功能,其1.0版和2.0版之間的區別以及2.7版的重點。
什麼是Microsoft認知工具包(CNTK)?
Microsoft認知工具包(CNTK),以前稱為計算網路工具包,是一個免費、易用、開源、商用級的工具包,它使我們能夠訓練深度學習演算法,使其像人腦一樣學習。它使我們能夠建立一些流行的深度學習系統,例如**前饋神經網路時間序列預測系統和卷積神經網路(CNN)影像分類器**。
為了獲得最佳效能,其框架功能是用C++編寫的。雖然我們可以使用C++呼叫其函式,但最常用的方法是使用Python程式。
CNTK的功能
以下是Microsoft CNTK最新版本中提供的一些功能和能力
內建元件
CNTK具有高度最佳化的內建元件,可以處理來自Python、C++或BrainScript的多維密集或稀疏資料。
我們可以實現CNN、FNN、RNN、批歸一化和帶注意力的序列到序列。
它為我們提供了從Python在GPU上新增新的使用者定義核心元件的功能。
它還提供自動超引數調整。
我們可以實現強化學習、生成對抗網路(GAN)、監督學習和無監督學習。
對於海量資料集,CNTK具有內建的最佳化讀取器。
有效利用資源
CNTK透過1位SGD為我們提供了在多個GPU/機器上具有高精度的並行處理能力。
為了將最大的模型放入GPU記憶體,它提供了記憶體共享和其他內建方法。
輕鬆表達我們自己的網路
CNTK具有完整的API,用於從Python、C++和BrainScript定義您自己的網路、學習器、讀取器、訓練和評估。
使用CNTK,我們可以輕鬆地使用Python、C++、C#或BrainScript評估模型。
它提供高階和低階API。
根據我們的資料,它可以自動調整推理形狀。
它具有完全最佳化的符號迴圈神經網路(RNN)迴圈。
測量模型效能
CNTK提供各種元件來衡量您構建的神經網路的效能。
從您的模型和相關的最佳化器生成日誌資料,我們可以使用它來監控訓練過程。
1.0版與2.0版
下表比較了CNTK 1.0版和2.0版
| 1.0版 | 2.0版 |
|---|---|
| 它於2016年釋出。 | 它是1.0版的重大重寫,於2017年6月釋出。 |
| 它使用了一種稱為BrainScript的專有指令碼語言。 | 其框架功能可以使用C++、Python呼叫。我們可以輕鬆地在C#或Java中載入我們的模組。BrainScript也受2.0版支援。 |
| 它在Windows和Linux系統上執行,但不能直接在Mac OS上執行。 | 它也在Windows(Win 8.1、Win 10、Server 2012 R2及更高版本)和Linux系統上執行,但不能直接在Mac OS上執行。 |
2.7版的重要亮點
**2.7版**是Microsoft認知工具包的最後一個主要釋出版本。它完全支援ONNX 1.4.1。以下是此最後一個釋出版本的CNTK的一些重要亮點。
完全支援ONNX 1.4.1。
支援Windows和Linux系統的CUDA 10。
它支援ONNX匯出中的高階迴圈神經網路(RNN)迴圈。
它可以匯出超過2GB的ONNX格式模型。
它支援BrainScript指令碼語言的訓練操作中的FP16。