AWS發佈深度學習框架MXNet 1.0.0版本,新功能將簡化深度學習訓練

本文由 【 AI前線】原創,原文連接: t.cn/RYE2NXk


AI 前線導讀:近日,深度學習框架 MXNet 發佈了 1.0.0 版本,性能獲得優化,增長了一些新功能,並修復了一些 bug。12 月 4 日,AWS 針對 MXNet 1.0 推出了新的模型服務 Model server,簡化深度學習培訓和應用程序 AI 功能開發。

更多幹貨內容請關注微信公衆號「AI 前線」(ID:ai-front)

同期,12 月 4 日,AWS 宣佈爲 Apache MXNet 的深度學習引擎 1.0 版本引入新的模型服務功能 Model server for Apache MXNet 。AWS 稱,這些新功能將能夠簡化培訓和部署深度學習模型,加強其最新性能,並提升深度學習框架之間的簡單互操做性。Model server 包含 10 個可用的預訓練模型,省去了用戶本身訓練模型的時間,並簡化了 Web、移動和物聯網應用程序中 AI 功能的開發。html

性能優化

最新版本的 MXNet 1.0.0 性能獲得優化,包括:前端

  • sparse.dot 運算符性能加強。python

  • 如今,MXNet 能夠自動設置 OpenMP,在未設置 NUM_OMP_THREADS 時可使用全部可用的 CPU 內核,以最大限度地提升 CPU 利用率。git

  • 一元運算符和二元運算符如今能夠避免在小數組上使用 OpenMP,由於實際上小數組多線程會損害運算性能。github

  • 顯着提升了 broadcast_add、broadcast_mul 等在 CPU 上的性能。docker

  • 將批量執行添加到命令模式。用戶能夠用 mxnet.engine.bulk 來控制段的大小。所以,混合模式下 Gluon 的速度提升,特別是在小型網絡和多 GPU 上。apache

  • 改進了 Python 前端調用 ctypes 的速度。數組

此外,MXNet 1.0.0 還增長了若干新功能。安全

梯度壓縮 [試驗]

MXNet 1.0.0 經過壓縮梯度通信來加速多 GPU 和分佈式訓練。這在訓練具備大型徹底鏈接層的網絡時,是很是有效的。在 Gluon 中,梯度通信能夠經過訓練器中的 compression_params 來激活。性能優化

支持 NVIDIA 多卡通信框架(NCCL)[試驗]
  • 在多個 GPU 上使用 kvstore ='nccl'(在某些狀況下)以更快進行訓練。

  • 小批量處理時比 kvstore ='device'速度快得多。

  • 使用 NCCL 2.1 版或更新版本時,建議將環境變量 NCCL_LAUNCH_MODE 設置爲 PARALLEL。

高級索引 [通常可用性]

·NDArray 如今支持由 numpy 標準指定的高級索引(包括 slice 和 assign):

https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#combining-advanced-and-basic-indexing

並有以下限制:

  • 若是 key 是列表類型,則只支持整數列表。例如,支持 key = [1,2],而不支持 key = [[1,2]]。

  • 不支持省略號(...)和 np.newaxis。

  • 不支持布爾數組索引。

Gluon[通常可用性]
  • 上述性能優化。

  • 添加了對 gluon.data.DataLoader 並行加載數據的支持。worker 的數量能夠用 num_worker 設置。不支持 Windows。

  • 增長了 Block.cast 以支持具備不一樣數據類型的網絡,例如 float16。

  • 添加了用於將用戶定義的函數打包的 Lambda 塊。

  • 廣義 gluon.data.ArrayDataset 支持任意數量的數組。

支持 ARM / Raspberry Pi[試驗]

最新版本的 MXNet 如今能夠在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 設備)上編譯並運行。更多信息,請參見 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[試驗]
  • MXNet 如今在具備 GPU 加速功能的 NVIDIA Jetson TX2 主板上進行編譯和運行。

  • 能夠經過運行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安裝 python MXNet 軟件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便轉換爲 scipy。

  • 添加了 sparse ndarrays 的 check_format()來檢查數組格式是否有效。

Bug 修復
  • 修復了在 NDArray 上無效的 [-1] 索引。

  • 修復了軸<0 時的 expand_dims。

  • 修正致使 topk 在大數組上產生不正確結果的 bug。

  • 提升 float64 數據的一元和二元運算符的數值精度。

  • 固定 log2 和 log10 的衍生物, 它曾經和日誌相同。

  • 修復了致使 MXNet 在 fork 以後停止的錯誤。請注意,因爲 CUDA 的限制,用戶仍然沒法在 fork 以後的子進程中使用 GPU。

  • 修復了在使用輔助狀態時,CustomOp 失敗的 bug。

  • 修復了在分佈式模式下運行培訓時,MXNet 會監聽全部可用接口的安全漏洞。

文檔更新
  • 在 FAQ 部分添加了一個安全最佳實踐文檔。

  • 修復許可標題,包括恢復版權歸屬。

  • 文檔更新。

  • 查看源代碼的連接。

AI 前線導讀:近日,深度學習框架 MXNet 發佈了 1.0.0 版本,性能獲得優化,增長了一些新功能,並修復了一些 bug。12 月 4 日,AWS 針對 MXNet 1.0 推出了新的模型服務 Model server,簡化深度學習培訓和應用程序 AI 功能開發。

更多幹貨內容請關注微信公衆號「AI 前線」(ID:ai-front)

同期,12 月 4 日,AWS 宣佈爲 Apache MXNet 的深度學習引擎 1.0 版本引入新的模型服務功能 Model server for Apache MXNet 。AWS 稱,這些新功能將能夠簡化培訓和部署深度學習模型,加強其最新性能,並提升深度學習框架之間的簡單互操做性。Model server 包含 10 個可用的預訓練模型,省去了用戶本身訓練模型的時間,並簡化了 Web、移動和物聯網應用程序中 AI 功能的開發。

性能優化

最新版本的 MXNet 1.0.0 性能獲得優化,包括:

  • sparse.dot 運算符性能加強。

  • 如今,MXNet 能夠自動設置 OpenMP,在未設置 NUM_OMP_THREADS 時可使用全部可用的 CPU 內核,以最大限度地提升 CPU 利用率。

  • 一元運算符和二元運算符如今能夠避免在小數組上使用 OpenMP,由於實際上小數組多線程會損害運算性能。

  • 顯着提升了 broadcast_add、broadcast_mul 等在 CPU 上的性能。

  • 將批量執行添加到命令模式。用戶能夠用 mxnet.engine.bulk 來控制段的大小。所以,混合模式下 Gluon 的速度提升,特別是在小型網絡和多 GPU 上。

  • 改進了 Python 前端調用 ctypes 的速度。

此外,MXNet 1.0.0 還增長了若干新功能。

梯度壓縮 [試驗]

MXNet 1.0.0 經過壓縮梯度通信來加速多 GPU 和分佈式訓練。這在訓練具備大型徹底鏈接層的網絡時,是很是有效的。在 Gluon 中,梯度通信能夠經過訓練器中的 compression_params 來激活。

支持 NVIDIA 多卡通信框架(NCCL)[試驗]
  • 在多個 GPU 上使用 kvstore ='nccl'(在某些狀況下)以更快進行訓練。

  • 小批量處理時比 kvstore ='device'速度快得多。

  • 使用 NCCL 2.1 版或更新版本時,建議將環境變量 NCCL_LAUNCH_MODE 設置爲 PARALLEL。

高級索引 [通常可用性]

·NDArray 如今支持由 numpy 標準指定的高級索引(包括 slice 和 assign):

https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#combining-advanced-and-basic-indexing

並有以下限制:

  • 若是 key 是列表類型,則只支持整數列表。例如,支持 key = [1,2],而不支持 key = [[1,2]]。

  • 不支持省略號(...)和 np.newaxis。

  • 不支持布爾數組索引。

Gluon[通常可用性]
  • 上述性能優化。

  • 添加了對 gluon.data.DataLoader 並行加載數據的支持。worker 的數量能夠用 num_worker 設置。不支持 Windows。

  • 增長了 Block.cast 以支持具備不一樣數據類型的網絡,例如 float16。

  • 添加了用於將用戶定義的函數打包的 Lambda 塊。

  • 廣義 gluon.data.ArrayDataset 支持任意數量的數組。

支持 ARM / Raspberry Pi[試驗]

最新版本的 MXNet 如今能夠在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 設備)上編譯並運行。更多信息,請參見 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[試驗]
  • MXNet 如今在具備 GPU 加速功能的 NVIDIA Jetson TX2 主板上進行編譯和運行。

  • 能夠經過運行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安裝 python MXNet 軟件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便轉換爲 scipy。

  • 添加了 sparse ndarrays 的 check_format()來檢查數組格式是否有效。

Bug 修復
  • 修復了在 NDArray 上無效的 [-1] 索引。

  • 修復了軸<0 時的 expand_dims。

  • 修正致使 topk 在大數組上產生不正確結果的 bug。

  • 提升 float64 數據的一元和二元運算符的數值精度。

  • 固定 log2 和 log10 的衍生物, 它曾經和日誌相同。

  • 修復了致使 MXNet 在 fork 以後停止的錯誤。請注意,因爲 CUDA 的限制,用戶仍然沒法在 fork 以後的子進程中使用 GPU。

  • 修復了在使用輔助狀態時,CustomOp 失敗的 bug。

  • 修復了在分佈式模式下運行培訓時,MXNet 會監聽全部可用接口的安全漏洞。

文檔更新
  • 在 FAQ 部分添加了一個安全最佳實踐文檔。

  • 修復許可標題,包括恢復版權歸屬。

  • 文檔更新。

  • 查看源代碼的連接。

AI 前線導讀:近日,深度學習框架 MXNet 發佈了 1.0.0 版本,性能獲得優化,增長了一些新功能,並修復了一些 bug。12 月 4 日,AWS 針對 MXNet 1.0 推出了新的模型服務 Model server,簡化深度學習培訓和應用程序 AI 功能開發。

更多幹貨內容請關注微信公衆號「AI 前線」(ID:ai-front)

同期,12 月 4 日,AWS 宣佈爲 Apache MXNet 的深度學習引擎 1.0 版本引入新的模型服務功能 Model server for Apache MXNet 。AWS 稱,這些新功能將能夠簡化培訓和部署深度學習模型,加強其最新性能,並提升深度學習框架之間的簡單互操做性。Model server 包含 10 個可用的預訓練模型,省去了用戶本身訓練模型的時間,並簡化了 Web、移動和物聯網應用程序中 AI 功能的開發。

性能優化

最新版本的 MXNet 1.0.0 性能獲得優化,包括:

  • sparse.dot 運算符性能加強。

  • 如今,MXNet 能夠自動設置 OpenMP,在未設置 NUM_OMP_THREADS 時可使用全部可用的 CPU 內核,以最大限度地提升 CPU 利用率。

  • 一元運算符和二元運算符如今能夠避免在小數組上使用 OpenMP,由於實際上小數組多線程會損害運算性能。

  • 顯着提升了 broadcast_add、broadcast_mul 等在 CPU 上的性能。

  • 將批量執行添加到命令模式。用戶能夠用 mxnet.engine.bulk 來控制段的大小。所以,混合模式下 Gluon 的速度提升,特別是在小型網絡和多 GPU 上。

  • 改進了 Python 前端調用 ctypes 的速度。

此外,MXNet 1.0.0 還增長了若干新功能。

梯度壓縮 [試驗]

MXNet 1.0.0 經過壓縮梯度通信來加速多 GPU 和分佈式訓練。這在訓練具備大型徹底鏈接層的網絡時,是很是有效的。在 Gluon 中,梯度通信能夠經過訓練器中的 compression_params 來激活。

支持 NVIDIA 多卡通信框架(NCCL)[試驗]
  • 在多個 GPU 上使用 kvstore ='nccl'(在某些狀況下)以更快進行訓練。

  • 小批量處理時比 kvstore ='device'速度快得多。

  • 使用 NCCL 2.1 版或更新版本時,建議將環境變量 NCCL_LAUNCH_MODE 設置爲 PARALLEL。

高級索引 [通常可用性]

·NDArray 如今支持由 numpy 標準指定的高級索引(包括 slice 和 assign):

https://docs.scipy.org/doc/numpy-1.13.0/reference/arrays.indexing.html#combining-advanced-and-basic-indexing

並有以下限制:

  • 若是 key 是列表類型,則只支持整數列表。例如,支持 key = [1,2],而不支持 key = [[1,2]]。

  • 不支持省略號(...)和 np.newaxis。

  • 不支持布爾數組索引。

Gluon[通常可用性]
  • 上述性能優化。

  • 添加了對 gluon.data.DataLoader 並行加載數據的支持。worker 的數量能夠用 num_worker 設置。不支持 Windows。

  • 增長了 Block.cast 以支持具備不一樣數據類型的網絡,例如 float16。

  • 添加了用於將用戶定義的函數打包的 Lambda 塊。

  • 廣義 gluon.data.ArrayDataset 支持任意數量的數組。

支持 ARM / Raspberry Pi[試驗]

最新版本的 MXNet 如今能夠在 ARMv六、ARMv七、ARMv64(包括 Raspberry Pi 設備)上編譯並運行。更多信息,請參見 https://github.com/apache/incubator-mxnet/tree/master/docker_multiarch。

支持 NVIDIA Jetson[試驗]
  • MXNet 如今在具備 GPU 加速功能的 NVIDIA Jetson TX2 主板上進行編譯和運行。

  • 能夠經過運行 - $ pip install mxnet-jetson-tx2 在 Jetson 板上安裝 python MXNet 軟件包。

支持 Sparse Tensor[通常可用性]
  • 添加了更多的稀疏算子:contrib.SparseEmbedding、sparse.sum 和 sparse.mean。

  • 添加 asscipy(),以方便轉換爲 scipy。

  • 添加了 sparse ndarrays 的 check_format()來檢查數組格式是否有效。

Bug 修復
  • 修復了在 NDArray 上無效的 [-1] 索引。

  • 修復了軸<0 時的 expand_dims。

  • 修正致使 topk 在大數組上產生不正確結果的 bug。

  • 提升 float64 數據的一元和二元運算符的數值精度。

  • 固定 log2 和 log10 的衍生物, 它曾經和日誌相同。

  • 修復了致使 MXNet 在 fork 以後停止的錯誤。請注意,因爲 CUDA 的限制,用戶仍然沒法在 fork 以後的子進程中使用 GPU。

  • 修復了在使用輔助狀態時,CustomOp 失敗的 bug。

  • 修復了在分佈式模式下運行培訓時,MXNet 會監聽全部可用接口的安全漏洞。

文檔更新
  • 在 FAQ 部分添加了一個安全最佳實踐文檔。

  • 修復許可標題,包括恢復版權歸屬。

  • 文檔更新。

  • 查看源代碼的連接。

關注咱們的微信號"AI前線",後臺回覆「AI」可得到《AI前線》系列PDF電子書

相關文章
相關標籤/搜索