
我们已将重命名为从Xlearning到Hbox的存储库。
如果您有存储库的本地克隆,请更新您的远程URL:
git remote set-url origin https://github.com/Qihoo360/hbox.gitHbox是一个方便,有效的调度平台,结合了大数据和人工智能,对各种机器学习,深度学习框架的支持。 Hbox正在Hadoop纱线上运行,并集成了深度学习框架,例如Tensornet,Tensorflow,Mxnet,Caffe,Theano,Pytorch,Keras,Xgboost,Xgboost,Horovod,OpenMPI,Tensor2tensor。支持GPU资源计划,在Docker和Restful API管理接口中运行。 Hbox具有令人满意的可伸缩性和兼容性。
中文文档

Hbox中有三个基本组件:
除了Tensorflow和MXNET框架的分布式模式外,HBOX还支持所有深度学习框架的独立模式,例如Caffe,Theano,Pytorch。此外,HBOX允许灵活地自定义版本和多次框架。
培训数据和模型结果保存到HDF(支持S3)。 Hbox可以通过设置--input-strategy参数或hbox.input.strategy配置来指定输入数据的输入策略--input 。 Hbox支持读取HDFS输入数据的三种方法:
与读取策略相似,Hbox允许通过设置--output-strategy参数或hbox.output.strategy配置来指定输出数据的--output策略。结果输出模式有两种:
更多详细信息请参阅数据管理
应用程序接口可以分为四个部分:

除了在分布式模式TensorFlow框架上自动构造ClustersPec之外,可以直接在Hbox上执行独立模式Tensorflow和其他深度学习框架的程序。
在源代码的根目录中运行以下命令:
./mvnw package
编译后,将在根目录中的core/target下生成一个名为hbox-1.1-dist.tar.gz的分发软件包。解开分发包的包装,将在根目录下生成以下子目录:
要设置配置,用户需要将HBOX_CONF_DIR设置为包含有效hbox-site.xml的文件夹,或将此文件夹链接到$HBOX_HOME/conf 。
在拆卸分布软件包“ $ hbox_home”的“ conf”目录下,配置相关文件:
hbox-env.sh:设置环境变量,例如:
hbox-site.xml:配置相关属性。请注意,与历史记录服务相关的属性必须与历史记录服务启动时配置的内容保持一致。有关更多详细信息,请参阅配置部分。
log4j.properties:配置日志级别
$HBOX_HOME/sbin/start-history-server.sh 。 使用$HBOX_HOME/bin/hbox-submit将应用程序提交给Hbox客户端中的群集。这是TensorFlow应用程序的提交示例。
将“数据”目录上传到将分布软件包的根源下载到HDFS
cd $HBOX_HOME
hadoop fs -put data /tmp/
cd $HBOX_HOME/examples/tensorflow
$HBOX_HOME/bin/hbox-submit
--app-type "tensorflow"
--app-name "tf-demo"
--input /tmp/data/tensorflow#data
--output /tmp/tensorflow_model#model
--files demo.py,dataDeal.py
--worker-memory 10G
--worker-num 2
--worker-cores 3
--ps-memory 1G
--ps-num 1
--ps-cores 2
--queue default
python demo.py --data_path=./data --save_path=./model --log_dir=./eventLog --training_epochs=10
参数的含义如下:
| 属性名称 | 意义 |
|---|---|
| 应用名称 | 应用名称为“ TF-DEMO” |
| 应用类型 | 应用类型为“ TensorFlow” |
| 输入 | 输入文件,HDFS路径为“/tmp/data/tensorflow” |
| 输出 | 输出文件,HDFS路径为“/tmp/tensorflow_model” |
| 文件 | 应用程序和所需的本地文件,包括demo.py,datadeal.py |
| 工人记忆 | 用于工作过程的内存数量为10GB |
| 工人名 | 用于应用程序的工人容器的数量为2 |
| 工人核 | 用于工作过程的核心数为3 |
| PS-MEMORY | 用于PS过程的内存数量为1GB |
| PS-num | 用于应用程序的PS容器的数量为1 |
| PS核 | 用于PS过程的核心数为2 |
| 队列 | 该申请提交给的队列 |
有关更多详细信息,请设置提交参数部分。
Hbox常见问题解答
Hbox是由Github的团队设计,撰写,审查和测试的:
@yuance li,@wen ouyang, @runying jia, @yuhan jia,@lei wang
