MXNet 粗糙的使用指南

1 篇文章 0 订阅

MXNet 粗糙的使用指南

写于2020年3月24日,最新的CUDA版本为10.2


MXNet简介

MXNet是一个(跟TF与Torch相比特别小众的)多平台神经网络框架。

优点:灵活,多平台,可移植性强。工业界常用框架。

缺点复杂,难以入门,基本没有教材。只能依靠代码来学习代码。

 

框架介绍

MXNet现在存在两种界面:symbol与gluon。

Symbol的设计思路与TF1.x版本的思路相似:静态图,手动指定模型,符号式编程。而Gluon则大大参考了Troch与Kreas:动态图,依靠PY中的类进行模型构建,指令式编程。当然,为了解决动态图的效率问题,Gluon可以一键动态转静态,这使得Gluon的效率大大提升?(基于现在MXNet对动态图的优化,这个差距好像只有2%)

 

唯一指定参考文档

唯一指定文档:http://mxnet.incubator.apache.org/api/python/docs/tutorials/

很不幸,这是仅此一份的可以使用的MXNet全面资料,而且没有任何入门指南。

这里是一些有关MXNet书籍的评价:

《动手学深度学习》:对于深度学习的各个应用讲解的非常全面,但是太过依赖d2lzh库了。作为唯一一本MXNet入门书籍,是MXNet的教科书。缺点在于数据的预处理与特殊数据的读取完全没有涉及;自定义模块的gluon方案也没有讲解。事实上,gluon的自定义做的非常差,这方面基本要依靠symbol来完成。

《MXNet深度学习实战》:重点在于symbol模型的讲解。作为MXNet的老界面,symbol还在被广泛使用当中。如上文所说,gluon还是一个不太完善的界面,很多部分要依靠symbol来补足。

 

模型下载

如果你的电脑的cuda是10.0版本的:使用pip mxnet-cu100

如果你的电脑的cuda是10.1版本的:使用pip mxnet-cu101

10.x版本以后的同理

如果你的电脑的cuda是9.0版本的:使用pip mxnet-cu90

如果你的电脑的cuda是9.2版本的:使用pip mxnet-cu92

x.y版本的同理

不要忘记安装cuda以及cuda toolkit。不要试图用conda安装mxnet。Pip加速可以使用清华源。

 

数据保存与读入

数据的保存方面对应的是这个API:mxnet.recordio.MXIndexedRecordIO

数据的读入方面MXNet提供了两个API:

(1)ImageRecordIter

(2)ImageDetRecordIter

其中,第一个对应目标识别,第二个对应目标检测,具体用法百度即可。但是都不是很好用,事实上你可能必须要自己写一个数据迭代器。如果要自己设计数据迭代器,建议原生numpy+py多线程。

此外,作为读取文件数据的CSVIter事实上已被弃用,不要使用它。如果你需要读取文件数据,请自己写一个数据迭代器:mxnet.io.io.DataIter是一个很不错的基类。

 

模型构建与训练

百度就完事了。这方面三家都大差不差。此外要注意·Gluon是没有fit这种函数的。虽然有现成的训练器,但是解决器还是需要自己动手写的。

超出Gluon能力的自定义层使用symbol的这个API:CustomOP。比较复杂,需要Gluon模型静态化后才能对接。需要注意的是,在Gluon模型中使用的CustomOP,无法对numpy做后台运算,可能会对性能造成不可知的影响。

注:Gluon版本的fit函数叫Estimator。现在还在contrib模块里趴着,甚至没有被编译到pip直接可供下载的库里。不知道猴年马月才能用上这个东西。’

 

迁移学习相关

MXNet本身没有任何保存的模型。但是有一个附加库叫做GluonCV,神奇的GluonCV!

GluonCV需要单独安装,里面主要是一些训练好的模型和一些特殊的损失函数,包括Focalloss,YOLOloss,SSD中用的IOUloss。这些可以极大的方便一些模型的实现。

 

总结

MXNet,不是很好用,但是安利大家都来试一试:毕竟他还在以飞快的速度更新,毕竟是第一个以国人为主力的神经网络框架,毕竟是我第一次见到竟然是以中文为主的官方讨论区。

 

一些链接

MXNet官网:http://mxnet.incubator.apache.org/

MXNet文档:http://mxnet.incubator.apache.org/api/python/docs/tutorials/

MXNet下载方式:http://mxnet.incubator.apache.org/get_started

GluonCV官网:https://gluon-cv.mxnet.io/

GluonCV文档:https://gluon-cv.mxnet.io/api/

Pip清华源:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值