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

简介: MXNet 是亚马逊(Amazon)选择的深度学习库,并且也许是最优秀的库之一。它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行(包括手机)。对 Python 的支持只是其冰山一角—MXNet 同样提供了对 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。

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

目录

MXNet 的简介

1、优缺点

2、相关文章

3、相关链接

MXNet 的安装

MXNet 的使用方法

1、个人使用总结

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

3、模型分类

MXNet 的应用案例


MXNet 的简介

image.gif

       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

        image.gif

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

        3、相关链接

        官网地址:Apache MXNet | A flexible and efficient library for deep learning.

        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地址:mxnet · PyPI

         

        MXNet 的安装

        1、第一次安装

        pip install mxnet

        image.gif

        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.

        image.gif

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

        2、第二次安装

        image.gif

        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.

        image.gif

        MXNet 的使用方法

        后期更新……

        1、个人使用总结

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

        相关链接:Apache MXNet | A flexible and efficient library for deep learning.

        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.

        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.

        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

        MXNet 的应用案例

        后期继续更新……


        相关实践学习
        部署Stable Diffusion玩转AI绘画(GPU云服务器)
        本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
        相关文章
        |
        1月前
        |
        机器学习/深度学习 传感器 数据采集
        深度学习在故障检测中的应用:从理论到实践
        深度学习在故障检测中的应用:从理论到实践
        139 5
        |
        12天前
        |
        机器学习/深度学习 存储 人工智能
        MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
        MNN 是阿里巴巴开源的轻量级深度学习推理框架,支持多种设备和主流模型格式,具备高性能和易用性,适用于移动端、服务器和嵌入式设备。
        69 18
        MNN:阿里开源的轻量级深度学习推理框架,支持在移动端等多种终端上运行,兼容主流的模型格式
        |
        18天前
        |
        机器学习/深度学习 人工智能 自然语言处理
        深度学习的原理与应用:开启智能时代的大门
        深度学习的原理与应用:开启智能时代的大门
        117 16
        |
        28天前
        |
        机器学习/深度学习 网络架构 计算机视觉
        深度学习在图像识别中的应用与挑战
        【10月更文挑战第21天】 本文探讨了深度学习技术在图像识别领域的应用,并分析了当前面临的主要挑战。通过研究卷积神经网络(CNN)的结构和原理,本文展示了深度学习如何提高图像识别的准确性和效率。同时,本文也讨论了数据不平衡、过拟合、计算资源限制等问题,并提出了相应的解决策略。
        85 19
        |
        28天前
        |
        机器学习/深度学习 传感器 人工智能
        探索深度学习在图像识别中的应用与挑战
        【10月更文挑战第21天】 本文深入探讨了深度学习技术在图像识别领域的应用,并分析了当前面临的主要挑战。通过介绍卷积神经网络(CNN)的基本原理和架构设计,阐述了深度学习如何有效地从图像数据中提取特征,并在多个领域实现突破性进展。同时,文章也指出了训练深度模型时常见的过拟合问题、数据不平衡以及计算资源需求高等挑战,并提出了相应的解决策略。
        85 7
        |
        1月前
        |
        机器学习/深度学习 自动驾驶 算法
        深度学习在图像识别中的应用
        本文将探讨深度学习技术在图像识别领域的应用。我们将介绍深度学习的基本原理,以及如何利用这些原理进行图像识别。我们将通过一个简单的代码示例来演示如何使用深度学习模型进行图像分类。最后,我们将讨论深度学习在图像识别领域的未来发展趋势和挑战。
        |
        1月前
        |
        机器学习/深度学习 数据采集 算法
        深度学习在图像识别中的应用与挑战
        本文探讨了深度学习技术在图像识别领域的应用,重点分析了卷积神经网络(CNN)的基本原理、优势以及面临的主要挑战。通过案例研究,展示了深度学习如何提高图像识别的准确性和效率,同时指出了数据质量、模型泛化能力和计算资源等关键因素对性能的影响。
        |
        1月前
        |
        机器学习/深度学习 计算机视觉
        深度学习在图像识别中的应用与挑战
        本文深入探讨了深度学习技术在图像识别领域的应用及其面临的挑战。通过分析深度学习模型如卷积神经网络(CNN)的工作原理,我们揭示了这些模型如何有效地处理和识别图像数据。同时,文章也指出了当前深度学习在图像识别中遇到的一些主要问题,包括过拟合、数据集偏差和模型解释性等,为读者提供了对这一领域全面而深入的理解。
        |
        1月前
        |
        机器学习/深度学习 计算机视觉
        深度学习在图像识别中的应用与挑战
        本文深入探讨了深度学习技术在图像识别领域的应用,分析了当前主流的深度学习模型及其在图像识别中的优势和面临的挑战。通过具体案例分析,揭示了深度学习如何推动图像识别技术的边界,并讨论了未来可能的发展方向。
        50 4
        |
        1月前
        |
        机器学习/深度学习 人工智能 算法
        深度学习在图像识别中的革命性应用####
        本文不采用传统摘要形式,直接以一段引人入胜的事实开头:想象一下,一台机器能够比人类更快速、更准确地识别出图片中的对象,这不再是科幻电影的情节,而是深度学习技术在图像识别领域带来的现实变革。通过构建复杂的神经网络模型,特别是卷积神经网络(CNN),计算机能够从海量数据中学习到丰富的视觉特征,从而实现对图像内容的高效理解和分类。本文将深入探讨深度学习如何改变图像识别的游戏规则,以及这一技术背后的原理、关键挑战与未来趋势。 ####
        62 1