DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略

DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略


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访问和低级控制,是深度学习框架中独一无二的选择。

1、优缺点

优点

  1. 速度的标杆
  2. 灵活的编程模型:非常灵活。支持命令式和符号式编程模型以最大化效率和性能。
  3. 从云端到客户端可移植:可运行于多CPU、多GPU、集群、服务器、工作站甚至移动智能手机。
  4. 多语言支持:支持七种主流编程语言,包括C++、Python、R、Scala、Julia、Matlab和JavaScript。事实上,它是唯一支持所有 R 函数的构架。
  5. 本地分布式训练:支持在多CPU/GPU设备上的分布式训练,使其可充分利用云计算的规模优势。
  6. 性能优化:使用一个优化的C++后端引擎并行I/O和计算,无论使用哪种语言都能达到最佳性能。
  7. 云端友好,可直接与S3,HDFS和Azure兼容

缺点

  1. 最小的社区
  2. 比 Theano 学习更困难一点

2、相关文章

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

MXnet是一个多语言机器学习(ML)库,用于简化ML算法的开发,特别是对于深度神经网络。它嵌入在宿主语言中,将声明性符号表达式与命令式张量计算混合在一起。它提供自动微分来推导梯度。MXnet具有计算和内存效率高的特点,可以在各种异构系统上运行,从移动设备到分布式GPU集群。本文介绍了MXnet的API设计和系统实现,并解释了如何统一处理符号表达式和张量操作的嵌入。我们的初步实验表明,在使用多个GPU机器的大规模深度神经网络应用中,有着很好的结果。

3、相关链接

官网地址: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/

MXNet 的安装

1、第一次安装

pip install mxnet

Collecting mxnet
  Downloading https://files.pythonhosted.org/packages/d1/b6/38d9ab1b16c456224823e737f1bb95fe3ff056f3834fba01cd157d59b574/mxnet-1.4.0.post0-py2.py3-none-win_amd64.whl (21.9MB)
    100% |████████████████████████████████| 21.9MB 34kB/s
Requirement already satisfied: requests<2.19.0,>=2.18.4 in f:\program files\python\python36\lib\site-packages (from mxnet) (2.18.4)
Collecting graphviz<0.9.0,>=0.8.1 (from mxnet)
  Downloading https://files.pythonhosted.org/packages/53/39/4ab213673844e0c004bed8a0781a0721a3f6bb23eb8854ee75c236428892/graphviz-0.8.4-py2.py3-none-any.whl
Collecting numpy<1.15.0,>=1.8.2 (from mxnet)
  Downloading https://files.pythonhosted.org/packages/dc/99/f824a73251589d9fcef2384f9dd21bd1601597fda92ced5882940586ec37/numpy-1.14.6-cp36-none-win_amd64.whl (13.4MB)
    100% |████████████████████████████████| 13.4MB 30kB/s
Requirement already satisfied: certifi>=2017.4.17 in f:\program files\python\python36\lib\site-packages (from requests<2.19.0,>=2.18.4->mxnet) (2018.1.18)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in f:\program files\python\python36\lib\site-packages (from requests<2.19.0,>=2.18.4->mxnet) (3.0.4)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in f:\program files\python\python36\lib\site-packages (from requests<2.19.0,>=2.18.4->mxnet) (1.22)
Requirement already satisfied: idna<2.7,>=2.5 in f:\program files\python\python36\lib\site-packages (from requests<2.19.0,>=2.18.4->mxnet) (2.6)

tensorflow-gpu 1.4.0 requires enum34>=1.1.6, which is not installed.
tensorflow 1.10.0 has requirement numpy<=1.14.5,>=1.13.3, but you'll have numpy 1.14.6 which is incompatible.
moviepy 0.2.3.2 has requirement decorator==4.0.11, but you'll have decorator 4.3.0 which is incompatible.
moviepy 0.2.3.2 has requirement tqdm==4.11.2, but you'll have tqdm 4.25.0 which is incompatible.
Installing collected packages: graphviz, numpy, mxnet
  Found existing installation: numpy 1.15.0rc1+mkl
    Uninstalling numpy-1.15.0rc1+mkl:
Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'f:\\program files\\python\\python36\\lib\\site-packages\\numpy\\core\\_multiarray_tests.cp36-win_amd64.pyd'
Consider using the `--user` option or check the permissions.

遇到问题:成功解决Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: 'f:\\program files\\p

2、第二次安装

tensorflow-gpu 1.4.0 requires enum34>=1.1.6, which is not installed.
tensorflow 1.10.0 has requirement numpy<=1.14.5,>=1.13.3, but you'll have numpy 1.14.6 which is incompatible.
moviepy 0.2.3.2 has requirement decorator==4.0.11, but you'll have decorator 4.3.0 which is incompatible.
moviepy 0.2.3.2 has requirement tqdm==4.11.2, but you'll have tqdm 4.25.0 which is incompatible.

MXNet 的使用方法

后期更新……

1、个人使用总结

DL框架之MXNet :深度学习框架之MXNet 常见使用方法(个人使用)总结之详细攻略

相关链接:http://mxnet.incubator.apache.org/versions/master/api/python/gluon/model_zoo.html

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

Alias Network # Parameters Top-1 Accuracy Top-5 Accuracy Origin
alexnet AlexNet 61,100,840 0.5492 0.7803 Converted from pytorch vision
densenet121 DenseNet-121 8,062,504 0.7497 0.9225 Converted from pytorch vision
densenet161 DenseNet-161 28,900,936 0.7770 0.9380 Converted from pytorch vision
densenet169 DenseNet-169 14,307,880 0.7617 0.9317 Converted from pytorch vision
densenet201 DenseNet-201 20,242,984 0.7732 0.9362 Converted from pytorch vision
inceptionv3 Inception V3 299x299 23,869,000 0.7755 0.9364 Converted from pytorch vision
mobilenet0.25 MobileNet 0.25 475,544 0.5185 0.7608 Trained with script
mobilenet0.5 MobileNet 0.5 1,342,536 0.6307 0.8475 Trained with script
mobilenet0.75 MobileNet 0.75 2,601,976 0.6738 0.8782 Trained with script
mobilenet1.0 MobileNet 1.0 4,253,864 0.7105 0.9006 Trained with script
mobilenetv2_1.0 MobileNetV2 1.0 3,539,136 0.7192 0.9056 Trained with script
mobilenetv2_0.75 MobileNetV2 0.75 2,653,864 0.6961 0.8895 Trained with script
mobilenetv2_0.5 MobileNetV2 0.5 1,983,104 0.6449 0.8547 Trained with script
mobilenetv2_0.25 MobileNetV2 0.25 1,526,856 0.5074 0.7456 Trained with script
resnet18_v1 ResNet-18 V1 11,699,112 0.7093 0.8992 Trained with script
resnet34_v1 ResNet-34 V1 21,814,696 0.7437 0.9187 Trained with script
resnet50_v1 ResNet-50 V1 25,629,032 0.7647 0.9313 Trained with script
resnet101_v1 ResNet-101 V1 44,695,144 0.7834 0.9401 Trained with script
resnet152_v1 ResNet-152 V1 60,404,072 0.7900 0.9438 Trained with script
resnet18_v2 ResNet-18 V2 11,695,796 0.7100 0.8992 Trained with script
resnet34_v2 ResNet-34 V2 21,811,380 0.7440 0.9208 Trained with script
resnet50_v2 ResNet-50 V2 25,595,060 0.7711 0.9343 Trained with script
resnet101_v2 ResNet-101 V2 44,639,412 0.7853 0.9417 Trained with script
resnet152_v2 ResNet-152 V2 60,329,140 0.7921 0.9431 Trained with script
squeezenet1.0 SqueezeNet 1.0 1,248,424 0.5611 0.7909 Converted from pytorch vision
squeezenet1.1 SqueezeNet 1.1 1,235,496 0.5496 0.7817 Converted from pytorch vision
vgg11 VGG-11 132,863,336 0.6662 0.8734 Converted from pytorch vision
vgg13 VGG-13 133,047,848 0.6774 0.8811 Converted from pytorch vision
vgg16 VGG-16 138,357,544 0.7323 0.9132 Trained with script
vgg19 VGG-19 143,667,240 0.7411 0.9135 Trained with script
vgg11_bn VGG-11 with batch normalization 132,874,344 0.6859 0.8872 Converted from pytorch vision
vgg13_bn VGG-13 with batch normalization 133,059,624 0.6884 0.8882 Converted from pytorch vision
vgg16_bn VGG-16 with batch normalization 138,374,440 0.7310 0.9176 Trained with script
vgg19_bn VGG-19 with batch normalization 143,689,256 0.7433 0.9185 Trained with script
get_model Returns a pre-defined model by name

3、模型分类

ResNet

resnet18_v1 ResNet-18 V1 model from “Deep Residual Learning for Image Recognition” paper.
resnet34_v1 ResNet-34 V1 model from “Deep Residual Learning for Image Recognition” paper.
resnet50_v1 ResNet-50 V1 model from “Deep Residual Learning for Image Recognition” paper.
resnet101_v1 ResNet-101 V1 model from “Deep Residual Learning for Image Recognition” paper.
resnet152_v1 ResNet-152 V1 model from “Deep Residual Learning for Image Recognition” paper.
resnet18_v2 ResNet-18 V2 model from “Identity Mappings in Deep Residual Networks” paper.
resnet34_v2 ResNet-34 V2 model from “Identity Mappings in Deep Residual Networks” paper.
resnet50_v2 ResNet-50 V2 model from “Identity Mappings in Deep Residual Networks” paper.
resnet101_v2 ResNet-101 V2 model from “Identity Mappings in Deep Residual Networks” paper.
resnet152_v2 ResNet-152 V2 model from “Identity Mappings in Deep Residual Networks” paper.
ResNetV1 ResNet V1 model from “Deep Residual Learning for Image Recognition” paper.
ResNetV2 ResNet V2 model from “Identity Mappings in Deep Residual Networks” paper.
BasicBlockV1 BasicBlock V1 from “Deep Residual Learning for Image Recognition” paper.
BasicBlockV2 BasicBlock V2 from “Identity Mappings in Deep Residual Networks” paper.
BottleneckV1 Bottleneck V1 from “Deep Residual Learning for Image Recognition” paper.
BottleneckV2 Bottleneck V2 from “Identity Mappings in Deep Residual Networks” paper.
get_resnet ResNet V1 model from “Deep Residual Learning for Image Recognition” paper.

VGG

vgg11 VGG-11 model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg13 VGG-13 model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg16 VGG-16 model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg19 VGG-19 model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg11_bn VGG-11 model with batch normalization from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg13_bn VGG-13 model with batch normalization from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg16_bn VGG-16 model with batch normalization from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
vgg19_bn VGG-19 model with batch normalization from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
VGG VGG model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.
get_vgg VGG model from the “Very Deep Convolutional Networks for Large-Scale Image Recognition” paper.

Alexnet

alexnet AlexNet model from the “One weird trick...” paper.
AlexNet AlexNet model from the “One weird trick...” paper.

DenseNet

densenet121 Densenet-BC 121-layer model from the “Densely Connected Convolutional Networks” paper.
densenet161 Densenet-BC 161-layer model from the “Densely Connected Convolutional Networks” paper.
densenet169 Densenet-BC 169-layer model from the “Densely Connected Convolutional Networks” paper.
densenet201 Densenet-BC 201-layer model from the “Densely Connected Convolutional Networks” paper.
DenseNet Densenet-BC model from the “Densely Connected Convolutional Networks” paper.

SqueezeNet

squeezenet1_0 SqueezeNet 1.0 model from the “SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size” paper.
squeezenet1_1 SqueezeNet 1.1 model from the official SqueezeNet repo.
SqueezeNet SqueezeNet model from the “SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size” paper.

Inception

inception_v3 Inception v3 model from “Rethinking the Inception Architecture for Computer Vision” paper.
Inception3 Inception v3 model from “Rethinking the Inception Architecture for Computer Vision” paper.

MobileNet

mobilenet1_0 MobileNet model from the “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications” paper, with width multiplier 1.0.
mobilenet0_75 MobileNet model from the “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications” paper, with width multiplier 0.75.
mobilenet0_5 MobileNet model from the “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications” paper, with width multiplier 0.5.
mobilenet0_25 MobileNet model from the “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications” paper, with width multiplier 0.25.
mobilenet_v2_1_0 MobileNetV2 model from the “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation” paper.
mobilenet_v2_0_75 MobileNetV2 model from the “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation” paper.
mobilenet_v2_0_5 MobileNetV2 model from the “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation” paper.
mobilenet_v2_0_25 MobileNetV2 model from the “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation” paper.
MobileNet MobileNet model from the “MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications” paper.
MobileNetV2 MobileNetV2 model from the “Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation” paper.

MXNet 的应用案例

后期继续更新……

(0)

相关推荐