
เราได้เปลี่ยนชื่อ repositiry จาก xlearning เป็น hbox
หากคุณมีโคลนในพื้นที่ของที่เก็บโปรดอัปเดต URL ระยะไกลของคุณ:
git remote set-url origin https://github.com/Qihoo360/hbox.gitHbox เป็นแพลตฟอร์มการจัดตารางเวลาที่สะดวกและมีประสิทธิภาพรวมกับข้อมูลขนาดใหญ่และปัญญาประดิษฐ์สนับสนุนการเรียนรู้ของเครื่องจักรที่หลากหลายกรอบการเรียนรู้ลึก Hbox กำลังทำงานอยู่บนเส้นด้าย Hadoop และได้รวมกรอบการเรียนรู้ลึกเช่น Tensornet, Tensorflow, MxNet, Caffe, Theano, Pytorch, Keras, Xgboost, Horovod, OpenMPI, Tensor2tensor รองรับตารางทรัพยากร GPU ทำงานใน Docker และ Restful API Management Interface HBOX มีความยืดหยุ่นและความเข้ากันได้ที่น่าพอใจ
中文文档

มีองค์ประกอบสำคัญสามประการใน HBOX:
นอกเหนือจากโหมดการกระจายของเฟรมเวิร์ก Tensorflow และ MXNet แล้ว Hbox ยังรองรับโหมดสแตนด์อโลนของกรอบการเรียนรู้ลึกทั้งหมดเช่นคาเฟอีน, Theano, Pytorch ยิ่งไปกว่านั้น HBOX ยังอนุญาตให้รุ่นที่กำหนดเองและเฟรมเวิร์กหลายรุ่นได้อย่างยืดหยุ่น
ข้อมูลการฝึกอบรมและผลลัพธ์แบบจำลองบันทึกไปยัง HDFS (สนับสนุน S3) HBOX เปิดใช้งานเพื่อระบุกลยุทธ์อินพุตสำหรับข้อมูลอินพุต --input โดยการตั้งค่า --input-strategy หรือ hbox.input.strategy การกำหนดค่า HBOX สนับสนุนสามวิธีในการอ่านข้อมูลอินพุต HDFS:
คล้ายกับกลยุทธ์การอ่าน HBOX อนุญาตให้ระบุกลยุทธ์เอาต์พุตสำหรับข้อมูลเอาท์พุท --output โดยการตั้งค่าพารามิเตอร์ --output-strategy หรือ hbox.output.strategy การกำหนดค่า โหมดเอาต์พุตผลลัพธ์มีสองประเภท:
รายละเอียดเพิ่มเติมดู การจัดการข้อมูล
อินเทอร์เฟซแอปพลิเคชันสามารถแบ่งออกเป็นสี่ส่วน:

ยกเว้นการก่อสร้างโดยอัตโนมัติของ Clusterspec ที่เฟรมเวิร์ก Tensorflow โหมดกระจายโปรแกรมที่ TensorFlow โหมดสแตนด์อโลนและเฟรมเวิร์กการเรียนรู้ลึกอื่น ๆ สามารถดำเนินการได้ที่ HBOX โดยตรง
เรียกใช้คำสั่งต่อไปนี้ในไดเรกทอรีรูทของซอร์สโค้ด:
./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 on กำหนดค่าระดับบันทึก
$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 ท้องถิ่น "./data" |
| เอาท์พุท | ไฟล์เอาต์พุต, เส้นทาง HDFS คือ "/tmp/tensorflow_model" ที่เกี่ยวข้องกับ DIR ท้องถิ่น "./model" |
| ไฟล์ | โปรแกรมแอปพลิเคชันและไฟล์ท้องถิ่นที่จำเป็นรวมถึง demo.py, dataDeal.py |
| หน่วยความจำ | จำนวนหน่วยความจำที่ใช้สำหรับกระบวนการของคนงานคือ 10GB |
| คนงาน | จำนวนคอนเทนเนอร์คนงานที่ใช้สำหรับแอปพลิเคชันคือ 2 |
| ผู้ปฏิบัติงาน | จำนวนคอร์ที่ใช้สำหรับกระบวนการคนงานคือ 3 |
| PS-MEMORY | จำนวนหน่วยความจำที่ใช้สำหรับกระบวนการ PS คือ 1GB |
| PS-NUM | จำนวนคอนเทนเนอร์ PS ที่จะใช้สำหรับแอปพลิเคชันคือ 1 |
| ps-cores | จำนวนแกนที่ใช้สำหรับกระบวนการ PS คือ 2 |
| คิว | คิวที่แอปพลิเคชันส่งไปยัง |
สำหรับรายละเอียดเพิ่มเติมตั้งค่าส่วน พารามิเตอร์การส่ง 。
คำถามที่พบบ่อย Hbox
Hbox ได้รับการออกแบบเขียนตรวจสอบและทดสอบโดยทีมงานที่ GitHub:
@yuance li, @wen ouyang, @runying Jia, @yuhan Jia, @Lei Wang
