係統粉 > IT資訊 > 微軟資訊

微軟開源深度學習工具包CNTK更新2.3版, 帶來多重性能改進

發布時間:2017-12-01    瀏覽數:

微軟開源深度學習工具包CNTK更新2.3版, 帶來多重性能改進(1)

AI 科技評論消息,近日微軟更新了自家開源深度學習工具包CNTK,新的版本號為2.3,帶來了多項性能改進。

CNTK全名為Computational Network Toolkit,與穀歌的TensorFlow、Facebook的Caffe/Caffe2一樣是開源的計算平台/工具包,意在服務更多深度學習、人工智能的研究人員和開發者們。從2016年開源起,微軟就宣傳CNTK的性能明顯高於Caffe、Theano、TensoFlow等其它的一些熱門工具,當然也提供了基於英偉達cuDNN的一到多GPU加速支持。

CNTK在2.0的多個Beta和RC版本中逐步更新了麵向Python、C++、C#、Java等語言的API支持,對Keras的後端支持,Python示例和教程、自動安裝等等一大堆新功能,接著在2.1中把cuDNN版本升級到了6.0、支持Universal Windows Platform,在2.2中做了許多模型支持相關的改進之後,近日CNTK也發布了2.3版本。 AI 科技評論把更新內容簡單介紹如下:

CNTK 2.3 更新重點

對ONNX標準的更好支持(關於ONNX看這裏)

分布式訓練支持切換到NCCL2,帶來更好的性能(NCCL是英偉達官方的多卡訓練庫,詳細解讀看這裏)

改進了C# API 的支持

(2.2版本中必須安裝OpenCV庫)現在OpenCV不是必須安裝的,隻有當用到TensorBoard Image功能和圖像讀取功能時才需要安裝它

多重性能改進

增加了網絡優化API

更快的稀疏Adadelta

性能改進的相關項目包含

改進 C# API,提升訓練和預測性能

通過自由動態軸的支持,提升帶有卷積操作的網絡的訓練速度。對於某些模型,訓練速度可以提升5倍以上;

提升驗證性能,移除了許多不需要的驗證檢查;

CPU 卷積中更多地使用MKL-ML,AlexNet的訓練速度可以提升4倍;

Linux的正式版CNTK-GPU會默認使用NCCL2,可以降低分布式訓練中的聚合開銷。對於Python用戶來說沒有什麼影響,Linux的Python自己就帶有NCCL支持。BrainScript版本的用戶需要先自己手工安裝NCCL庫作為CNTK的運行環境,就像CUDA和CUDNN一樣。CPU版本和Windows版本都不受影響,因為目前NCCL隻支持Linux。

提升了梯度稀疏時Adadelta的更新速度。現在每次更新的運行時間和梯度中不為零的元素的數量成正比。對於在單個GPU上運行的帶有高維稀疏輸入(大約2百萬特征)的前饋模型,性能可以提升5倍。內存需求稍有增加,每一個稀疏的輸入特征會需要額外的四個字節空間(對前麵提到的模型來說一共增加8MB左右的內存需求)

其它值得注意的項目

2.3版本是最後一個支持Python3.4的版本,未來版本的CNTK將不再支持Python3.4。

ONNX方麵,優化標準支持的同時,ONNX標準也更新到了最新版本;目前已經覆蓋了ResNet、Inception、VGG在內的多數計算機視覺模型

增加了GPU上分組卷積的支持

CNTK2.3版本此次發布了運行在Windows下的CPU、GPU、GPU+1bit-SGD、UWP等多個版本以及運行在Linux下的CPU、GPU、GPU+1bit-SGD三個版本,都支持64位係統。有需要的研究人員和開發者請到CNTK的 github 馬上更新吧。

上一篇:艾康尼克與微軟攜手打造未來智能出行方案 下一篇:扣丁學堂淺談如何在win10和Linux下分別安裝Python虛機環境

相關資訊

最新熱門應用

電腦問答