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。

廣告

© . All rights reserved.