天天看點

DL架構之MXNet :深度學習架構之MXNet 的簡介、安裝、使用方法、應用案例之詳細攻略(一)

目錄

MXNet 的簡介

1、優缺點

2、相關文章

3、相關連結

MXNet 的安裝

MXNet 的使用方法

1、個人使用總結

2、經典模型集合—MXNet Model Zoo

3、模型分類

MXNet 的應用案例

       A flexible and efficient library for deep learning.

 MXNet 是亞馬遜(Amazon)選擇的深度學習庫,并且也許是最優秀的庫之一。它擁有類似于 Theano 和 TensorFlow 的資料流圖,為多 GPU 配置提供了良好的配置,有着類似于 Lasagne 和 Blocks 更進階别的模型建構塊,并且可以在你可以想象的任何硬體上運作(包括手機)。對 Python 的支援隻是其冰山一角—MXNet 同樣提供了對 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。

       MXNet 是一個旨在提高效率和靈活性的深度學習架構。像MXNet這樣的加速庫提供了強大的工具來幫助開發人員利用GPU和雲計算的全部功能。雖然這些工具通常适用于任何數學計算,但MXNet特别強調加速大規模深度神經網絡的開發和部署。特别是,我們提供以下功能:

裝置放置:使用MXNet,可以輕松指定每個資料結構的生存位置。

多GPU教育訓練:MXNet可以通過可用GPU的數量輕松擴充計算。

自動區分:MXNet自動執行曾經陷入神經網絡研究的衍生計算。

優化的預定義圖層:雖然您可以在MXNet中編寫自己的圖層,但預定義的圖層會針對速度進行優化,優于競争庫。

       MXNet 官方自我評價:MXNet結合了高性能,幹淨的代碼,進階API通路和低級控制,是深度學習架構中獨一無二的選擇。

優點:

速度的标杆

靈活的程式設計模型:非常靈活。支援指令式和符号式程式設計模型以最大化效率和性能。

從雲端到用戶端可移植:可運作于多CPU、多GPU、叢集、伺服器、工作站甚至移動智能手機。

多語言支援:支援七種主流程式設計語言,包括C++、Python、R、Scala、Julia、Matlab和JavaScript。事實上,它是唯一支援所有 R 函數的構架。

本地分布式訓練:支援在多CPU/GPU裝置上的分布式訓練,使其可充分利用雲計算的規模優勢。

性能優化:使用一個優化的C++後端引擎并行I/O和計算,無論使用哪種語言都能達到最佳性能。

雲端友好,可直接與S3,HDFS和Azure相容

缺點:

最小的社群

比 Theano 學習更困難一點

MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems

       MXnet是一個多語言機器學習(ML)庫,用于簡化ML算法的開發,特别是對于深度神經網絡。它嵌入在宿主語言中,将聲明性符号表達式與指令式張量計算混合在一起。它提供自動微分來推導梯度。MXnet具有計算和記憶體效率高的特點,可以在各種異構系統上運作,從移動裝置到分布式GPU叢集。本文介紹了MXnet的API設計和系統實作,并解釋了如何統一處理符号表達式和張量操作的嵌入。我們的初步實驗表明,在使用多個GPU機器的大規模深度神經網絡應用中,有着很好的結果。

官網位址:

http://mxnet.incubator.apache.org/

GitHub位址01:

https://github.com/dmlc/mxnet

GitHub位址02:

https://github.com/apache/incubator-mxnet/tree/master/example

MXNet - Python API:

http://mxnet.incubator.apache.org/api/python/index.html#python-api-reference

PyPi位址:

https://pypi.org/project/mxnet/