
لقد أعيدت تسمية المستودع من XLearning إلى Hox.
إذا كان لديك استنساخ محلي للمستودع ، فيرجى تحديث عنوان URL عن بُعد:
git remote set-url origin https://github.com/Qihoo360/hbox.gitHox هي منصة جدولة مريحة وفعالة مع البيانات الضخمة والذكاء الاصطناعي ، ودعم مجموعة متنوعة من التعلم الآلي وأطر التعلم العميق. يعمل Hox على غزل Hadoop ولديه أطر عمل تعليمية عميقة مثل Tensornet و TensorFlow و Mxnet و Caffe و Theano و Pytorch و Keras و Xgboost , Horovod و OpenMPI و Tensor2Tensor. دعم جدول موارد GPU ، تشغيل في Docker وواجهة إدارة API Restful. HOBS لديه قابلية التوسع والتوافق المرضي.
中文文档

هناك ثلاثة مكونات أساسية في Hox:
إلى جانب الوضع الموزعة لأطر Tensorflow و MXNet ، يدعم HOBLE الوضع المستقل لجميع أطر التعلم العميق مثل CAFFE و THEANO و PYTORCH. علاوة على ذلك ، يتيح Hox الإصدارات المخصصة والنسف المتعدد للأطر بمرونة.
تدريب بيانات ونموذج النموذج حفظ إلى HDFS (دعم S3). يتم تمكين HBOX من تحديد استراتيجية الإدخال لبيانات الإدخال --input عن طريق تعيين المعلمة --input-strategy أو تكوين hbox.input.strategy . يدعم Hox ثلاث طرق لقراءة بيانات إدخال HDFS:
على غرار استراتيجية القراءة ، يسمح Hox بتحديد إستراتيجية الإخراج لبيانات الإخراج --output عن طريق ضبط المعلمة- --output-strategy أو تكوين hbox.output.strategy . هناك نوعان من أوضاع إخراج النتائج:
مزيد من التفاصيل انظر إدارة البيانات
يمكن تقسيم واجهة التطبيق إلى أربعة أجزاء:

باستثناء البناء التلقائي لـ ClustersPec في إطار الوضع الموزع TensorFlow ، يمكن تنفيذ البرنامج في الوضع المستقل TensorFlow وأطر التعلم العميق الأخرى في HOBLE مباشرة.
قم بتشغيل الأمر التالي في الدليل الجذر للرمز المصدر:
./mvnw package
بعد التجميع ، سيتم إنشاء حزمة توزيع تسمى hbox-1.1-dist.tar.gz تحت core/target في دليل الجذر. تفريغ حزمة التوزيع ، سيتم إنشاء الدلائل الفرعية التالية ضمن دليل الجذر:
لإعداد التكوينات ، يحتاج المستخدم إلى تعيين HBOX_CONF_DIR على مجلد يحتوي على hbox-site.xml ، أو ربط هذا المجلد إلى $HBOX_HOME/conf .
ضمن الدليل "conf" لحزمة توزيع التفريغ "$ hbox_home" ، قم بتكوين الملفات ذات الصلة:
Hbox-env.sh: اضبط متغيرات البيئة ، مثل:
hbox-site.xml: تكوين الخصائص ذات الصلة. لاحظ أن الخصائص المرتبطة بخدمة السجل يجب أن تكون متسقة مع ما تم تكوينه عندما بدأت خدمة السجل. لمزيد من التفاصيل ، يرجى الاطلاع على جزء التكوين 。
log4j.properties : تكوين مستوى السجل
$HBOX_HOME/sbin/start-history-server.sh . استخدم $HBOX_HOME/bin/hbox-submit لإرسال التطبيق إلى cluster في عميل 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 المحلي ./data " |
| الإخراج | ملف الإخراج , مسار HDFS هو "/tmp/tensorflow_model" المتعلق بـ DIR المحلي ./model " |
| الملفات | برنامج التطبيق والملفات المحلية المطلوبة ، بما في ذلك demo.py ، datadeal.py |
| العمال الذاكرة | مقدار الذاكرة لاستخدامها لعملية العمال هي 10 جيجابايت |
| العامل-لا | عدد حاويات العمال المراد استخدامها للتطبيق 2 |
| العمال | عدد النوى التي يجب استخدامها لعملية العمال هو 3 |
| PS-Memory | مقدار الذاكرة لاستخدامها في عملية PS هي 1 جيجابايت |
| PS-num | عدد حاويات PS المراد استخدامها للتطبيق هو 1 |
| PS-cores | عدد النوى المراد استخدامها لعملية PS هو 2 |
| طابور | قائمة انتظار هذا الطلب يقدم إلى |
لمزيد من التفاصيل ، قم بتعيين جزء إرسال المعلمة 。
HOBE FAQ
تم تصميم Hbox وتأليفه ومراجعته واختباره من قبل الفريق في Github:
yuance li ، wen ouyang ، @Runying JIA ، yuhan jia ، @lei wang
