
XlearningからHboxへのリポジリリーの名前を変更しました。
リポジトリのローカルクローンがある場合は、リモートURLを更新してください。
git remote set-url origin https://github.com/Qihoo360/hbox.gitHBOXは、ビッグデータと人工知能、さまざまな機械学習のサポート、ディープラーニングフレームワークを組み合わせた便利で効率的なスケジューリングプラットフォームです。 HboxはHadoop Yarnで実行されており、Tensornet、Tensorflow、Mxnet、Caffe、Theano、Pytorch、Keras、Xgboost、Horovod、Openmpi、Tensor2tensorなどの深い学習フレームワークを統合しています。 GPUリソーススケジュールをサポートし、DockerおよびRestful API管理インターフェイスで実行します。 Hboxには、満足のいくスケーラビリティと互換性があります。
中文文档

Hboxには3つの重要なコンポーネントがあります。
TensorflowおよびMXNetフレームワークの分散モードに加えて、HBOXは、Caffe、Theano、Pytorchなどのすべての深い学習フレームワークのスタンドアロンモードをサポートしています。さらに、Hboxは、カスタムバージョンとフレームワークのマルチバージョンを柔軟に許可します。
トレーニングデータとモデルの結果は、HDFSに保存されます(S3をサポート)。 Hboxは--input-strategy入力データパラメーターまたはhbox.input.strategy構成を設定することにより、入力データ--inputの入力戦略を指定できます。 HBOXは、HDFS入力データを読み取るための3つの方法をサポートしています。
読み取り戦略と同様に、Hboxは--output-strategyパラメーターまたはhbox.output.strategy構成を設定することにより、出力データ--outputの出力戦略を指定できます。結果出力モードには2種類あります。
詳細データ管理を参照してください
アプリケーションインターフェイスは、4つの部分に分割できます。

分散モードTensorFlowフレームワークでのClusterSpecの自動構造を除き、スタンドアロンモードTensorflowおよびその他のディープラーニングフレームワークのプログラムは、Hboxで直接実行できます。
ソースコードのルートディレクトリで次のコマンドを実行します。
./mvnw package
コンパイル後、 hbox-1.1-dist.tar.gzという名前の配布パッケージがルートディレクトリのcore/targetの下で生成されます。配布パッケージを開梱すると、次のサブディレクトリがルートディレクトリの下で生成されます。
構成をセットアップするには、ユーザーはHBOX_CONF_DIR有効なhbox-site.xmlを含むフォルダーに設定するか、このフォルダーを$HBOX_HOME/confにリンクする必要があります。
解散パッケージ「$ hbox_home」の「conf」ディレクトリの下で、関連するファイルを構成します。
hbox-env.sh:次のような環境変数を設定します。
hbox-site.xml:関連するプロパティを構成します。履歴サービスに関連付けられているプロパティは、履歴サービスが開始されたときに構成されたものと一致する必要があることに注意してください。詳細については、構成パート。を参照してください。
log4j.properties:configure logレベル
$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」に関連して「ローカルdir」に関連しています。 |
| 出力 | 出力ファイル、HDFSパスは「/tmp/tensorflow_model "local dir" ./model "に関連しています |
| ファイル | アプリケーションプログラムおよびDemo.py、datadeal.pyなどのローカルファイルが必要です |
| ワーカーメモリー | 労働者プロセスに使用するメモリの量は10GBです |
| Worker-num | アプリケーションに使用する労働者コンテナの数は2です |
| 労働者コア | ワーカープロセスに使用するコアの数は3です |
| PSメモリー | PSプロセスに使用するメモリの量は1GBです |
| ps-num | アプリケーションに使用するPSコンテナの数は1です |
| PSコア | PSプロセスに使用するコアの数は2です |
| 列 | アプリケーションが送信するキュー |
詳細については、送信パラメーターパートを設定します。
HBOX FAQ
Hboxは、GitHubのチームによって設計、作成、レビュー、テストされています。
@yuance li、@wen ouyang、@runing jia、@yuhan jia、@lei wang
