《MXNet深度学习实战》—1.3.2 MXNet的优势
1.3.2 MXNet的优势
就像任何事物都有两面性一样,几个主流的深度学习框架也各有优缺点。Caffe框架作为最优秀的深度学习框架之一,一直深受广大用户的欢迎,其优点是非常容易上手,积累的用户也很多;缺点是安装比较麻烦,会涉及各种环境依赖,另外要想灵活应用的话对新手而言还是比较困难的,而且该框架本身比较占用显存。TensorFlow是目前应用最为广泛的深度学习框架,TensorFlow的优点在于丰富的接口以及Google的强大技术支持,从开源以来,其积累了非常多的用户,并且随着学术界和工业界的不断推广,TensorFlow的用户群体也在不断壮大。TensorFlow宏观来看就是“大而全”,这种特点带来的问题就是其接口过于丰富,因此对于新人而言入门较难,往往会面临的问题是要实现一个简单的层却不知道该选择什么样的接口。PyTorch作为主流的深度学习框架中的后起之秀,是在原来已有的Torch框架上封装了Python接口并优化而成的,相信很多使用过PyTorch的读者都会被PyTorch的简洁所吸引,这得益于其命令式编程的设计方式,因此非常适合用于搞研究,或者称为快速试错;当然纯命令式编程的方式带来的问题是工业界线上部署的效率问题,所以Facebook内部对PyTorch的定位也是研究首选,而线上部署方面则是首选Caffe/Caffe2。另外由于PyTorch目前还在快速迭代中,所以文档和接口变化较大,新手需要一定的时间来适应。
那么为什么我推荐使用MXNet呢?有以下几个原因。
1)MXNet结合了命令式编程和符号式编程,因此兼顾了灵活和高效,既方便研究试错又适合线上部署。
2)框架比较稳定。MXNet从开源至今已经经历了早期开发时频繁迭代的阶段,目前接口基本上比较稳定,这将大大降低代码维护的成本。
3)MXNet在显存方面的优化做得非常好,可以帮助你节省机器资源,而且在训练相同的模型时,MXNet比大多数的深度学习框架的训练速度要快,这也能节省不少的训练时间。
4)MXNet安装方便,文档清晰,例子丰富,非常方便新人上手学习。
总结起来,对于深度学习框架而言,没有最好的,只有最适合的。如果在高校做研究,那么我会推荐使用MXNet或者PyTorch,这两者非常便于设计网络结构和调试;如果是在工业界需要上线部署模型,那么我会推荐使用MXNet、TensorFlow或Caffe。
- 点赞
- 收藏
- 关注作者
评论(0)