同步操作将从 奇虎360/XLearning 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
XLearning是一款支持多种机器学习、深度学习框架的调度系统。基于Hadoop Yarn完成了对TensorFlow、MXNet、Caffe、Theano、PyTorch、Keras、XGBoost等常用框架的集成,同时具备良好的扩展性和兼容性。
XLearning系统包括三种组件:
支持TensorFlow、MXNet分布式和单机模式,支持所有的单机模式的深度学习框架,如Caffe、Theano、PyTorch等。对于同一个深度学习框架支持多版本和自定义版本。
训练数据和模型结果统一采用HDFS进行存储,用户可通过--input-strategy
或xlearning.input.strategy
指定输入数据所采用的读取方式。目前,XLearning支持如下三种HDFS输入数据读取方式:
INPUT_FILE_LIST
传给Worker中的执行程序对应进程。执行程序从环境变量os.environ["INPUT_FILE_LIST"]
中获取需要处理的文件列表,直接对HDFS文件进行读写等操作。该模式要求深度学习框架具备读取HDFS文件的功能,或借助第三方模块库如pydoop等。同输入数据读取类似,用户可通过--output-strategy
或xlearning.output.strategy
指定输出结果的保存方式。XLearning支持如下两种结果输出保存模式:
更多详细说明见数据管理说明
作业运行界面大致分为四部分:
Save Model
按钮,在作业执行过程中,将本地输出当前模型训练结果上传至HDFS。上传成功后,显示目前已上传的模型列表;如下图所示:
TensorFlow分布式模式支持“ClusterSpec”自动分配构建,单机模式和其他深度学习框架代码不用做任何修改即可迁移到XLearning上。
在源码根目录下,执行:
mvn package
完成编译后,在源码根目录下的target目录中会生成发布包xlearning-1.1-dist.tar.gz
。该发布包解压后的主要目录结构如下:
在XLearning发布包根目录$XLEARNING_HOME下的conf目录中,分别配置如下文件:
xlearning-env.sh:设置相关环境变量,如:
xlearning-site.xml:详细系统配置说明请见配置参数部分。
log4j.properties:配置日志级别
$XLEARNING_HOME/sbin/start-history-server.sh
在XLearning客户端,使用$XLEARNING_HOME/bin/xl-submit
提交脚本将作业提交至Yarn集群。
以TensorFlow作业提交为例:
将发布包解压后的data文件夹上传至hdfs,如:
cd $XLEARNING_HOME
hadoop fs -put data /tmp/
cd $XLEARNING_HOME/examples/tensorflow
$XLEARNING_HOME/bin/xl-submit \
--app-type "tensorflow" \
--app-name "tf-demo" \
--input /tmp/data/tensorflow#data \
--output /tmp/tensorflow_model#model \
--files demo.py,dataDeal.py \
--launch-cmd "python demo.py --data_path=./data --save_path=./model --log_dir=./eventLog --training_epochs=10" \
--worker-memory 10G \
--worker-num 2 \
--worker-cores 3 \
--ps-memory 1G \
--ps-num 1 \
--ps-cores 2 \
--queue default \
提交脚本各参数含义如下:
参数名称 | 含义 |
---|---|
app-name | 作业名称为 "tf-demo" |
app-type | 作业类型为 "tensorflow" |
input | 输入文件,HDFS路径:/tmp/data/tensorflow,对应本地路径./data |
output | 输出文件,HDFS路径:/tmp/tensorflow_model,对应本地路径./model |
files | 需要传给各container的本地文件,包括 demo.py、dataDeal.py |
launch-cmd | 训练执行命令 |
worker-memory | worker内存使用为10G |
worker-num | worker数目为2 |
worker-cores | worker使用CPU核数为3 |
ps-memory | parameterServer内存使用为1G |
ps-num | parameterServer数目为1 |
ps-cores | parameterServer使用CPU核数为2 |
queue | 作业提交队列 |
更多相关参数详细说明请见运行提交参数部分。
@Yuance Li, @Wen OuYang, @Runying Jia, @YuHan Jia, @Lei Wang
Mail: g-xlearning-dev@360.cn
QQ群:588356340
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。