Parameter Server研究之MXNet使用

文章也同时在简书更新

引言

Parameter Server (PS) [1] 是一种目前主流的分布式机器学习范式。其中,李沐 提出的第三代PS [2] 影响力甚大,可以在Github找到其simulation:ps-lite
基于上述ps-liteMXNet [3] 应运而生,发展为目前最“热门”的Deep Learning 软件库之一。
注意:本文将主要着眼于MXNet

MXNet 安装与配置 (注意点)

根据官网的指引进行安装,一般没有什么问题。这里重点讲一下“Build From Source” (源码)方式可能遇到的问题。
笔者的Mac下进行操作,Linux与此是类似的。Windows可能有些区别。

关于Mac系统版本

下载安装脚本install-mxnet-osx-python.sh,赋予其执行权限后,运行此脚本。脚本会根据Mac的系统版本号进行check,截止目前(MXNet ver1.2.0),官方Doc中声称只支持OSX Sierra (10.12) and El Capitan (10.11)。因此在High Sierra (10.13),会抛出ERROR。此时,解决办法很简单,直接编辑脚本文件,在文件末尾的main()中将chk_mac_vers注释掉即可:#chk_mac_vers

关于python版本问题

Mac自带的python版本为2.7.10。对于MXNet的某些依赖过于陈旧,会阻碍安装,建议更新。
鉴于一系列历史遗留和后续考量,建议采用一劳永逸的解决方案:安装Anaconda。另:附上清华大学的镜像资源,用于下载加速:Anaconda清华镜像。你需要做的就是:下载Anaconda的安装脚本,赋予其执行权限,运行脚本,并同意相关操作。
注意:安装Anaconda的目的是为了更新陈旧的python。在安装完成后,记得重新打开你的terminal。仍旧停留在原先的terminal,python环境变量不会更新。

保存后续更新中

Reference

[1] A. Smola et al. “An architecture for parallel topic models.” In VLDB. 2010.
[2] M. Li et al. “Scaling distributed machine learning with the parameter server.” In OSDI. 2014.
[3] T. Chen et al. “MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems.” In NIPS. 2016.

周鶏🐣(Kimiko) wechat
拿起手机扫一扫,欢迎关注我的个人微信公众号:「洛斯里克的大书库」。
坚持原创技术分享,您的支持将鼓励我继续创作!