
Hemos cambiado el nombre de la repositura de Xlearning a HBox.
Si tiene un clon local del repositorio, actualice su URL remota:
git remote set-url origin https://github.com/Qihoo360/hbox.gitHbox es una plataforma de programación conveniente y eficiente combinada con los big data y la inteligencia artificial, soporte para una variedad de aprendizaje automático, marcos de aprendizaje profundo. Hbox se ejecuta en el hilo Hadoop y ha integrado marcos de aprendizaje profundo como Tensornet, TensorFlow, MXNet, Caffe, Thano, Pytorch, Keras, Xgboost, Horovod, OpenMPI, Tensor2Tensor. Apoya el cronograma de recursos de la GPU, se ejecuta en Docker y la interfaz RESTFUL API Management. Hbox tiene la escalabilidad y la compatibilidad satisfactoria.
中文文档

Hay tres componentes esenciales en Hbox:
Además del modo distribuido de tensorflow y mxnet frameworks, Hbox admite el modo independiente de todos los marcos de aprendizaje profundo como Caffe, Theo, Pytorch. Además, Hbox permite las versiones personalizadas y la versión múltiple de los marcos de manera flexible.
Datos de capacitación y resultado del modelo Guardar en HDFS (soporte S3). Hbox está habilitado para especificar la estrategia de entrada para los datos de entrada --input configurando el parámetro --input-strategy o la configuración hbox.input.strategy . Hbox admite tres formas de leer los datos de entrada HDFS:
Similar con la estrategia de lectura, HBOX permite especificar la estrategia de salida para los datos de salida --output configurando el parámetro --output-strategy o la configuración hbox.output.strategy . Hay dos tipos de modos de salida de resultados:
Más detalle ver gestión de datos
La interfaz de aplicación se puede dividir en cuatro partes:

Excepto la construcción automática del clusterspec en el marco de modo TensorFlow de modo distribuido, el programa en el modo independiente TensorFlow y otros marcos de aprendizaje profundo se pueden ejecutar directamente en HBox.
Ejecute el siguiente comando en el directorio raíz del código fuente:
./mvnw package
Después de la compilación, se generará un paquete de distribución llamado hbox-1.1-dist.tar.gz en core/target en el directorio raíz. Desempaquetando el paquete de distribución, los siguientes subdirectorios se generarán en el directorio raíz:
Para configurar las configuraciones, el usuario necesita establecer HBOX_CONF_DIR en una carpeta que contenga un hbox-site.xml válido, o vincular esta carpeta a $HBOX_HOME/conf .
Según el directorio "conf" del paquete de distribución de desactivación "$ hbox_home", configure los archivos relacionados:
hbox-env.sh: Establezca las variables de entorno, como:
hbox-site.xml: Configurar propiedades relacionadas. Tenga en cuenta que las propiedades asociadas con el servicio de historial deben ser consistentes con lo que se ha configurado cuando comenzó el servicio de historial. Para más detalles, consulte la parte de configuración 。
log4j.properties:configure el nivel de registro
$HBOX_HOME/sbin/start-history-server.sh . Use $HBOX_HOME/bin/hbox-submit para enviar la aplicación a clúster en el cliente HBox. Aquí están el ejemplo de envío para la solicitud TensorFlow.
Cargue el directorio de "datos" en la raíz del paquete de distribución de desactivación a 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
El significado de los parámetros es el siguiente:
| Nombre de propiedad | Significado |
|---|---|
| nombre de la aplicación | Nombre de la aplicación como "TF-Demo" |
| tipo de aplicación | Tipo de aplicación como "TensorFlow" |
| aporte | El archivo de entrada, la ruta HDFS es "/tmp/data/tensorflow" relacionado con el direño local "./data" |
| producción | Archivo de salida, la ruta HDFS es "/TMP/Tensorflow_Model" relacionado con el Dir local "./model" |
| archivos | Programa de aplicación y archivos locales requeridos, incluidos demo.py, datADeal.py |
| semicratoria | La cantidad de memoria para usar para el proceso del trabajador es de 10 GB |
| trabajador-num | El número de contenedores de trabajadores para usar para la aplicación es 2 |
| trabajador | El número de núcleos para usar para el proceso del trabajador es 3 |
| Memory de PS | La cantidad de memoria para usar para el proceso PS es 1 GB |
| num | El número de contenedores de PS para usar para la aplicación es 1 |
| coro | El número de núcleos para usar para el proceso PS es 2 |
| cola | la cola a la que se somete a la solicitud |
Para obtener más detalles, establezca la parte del parámetro Enviar 。
Preguntas frecuentes de Hbox
Hbox es diseñado, escrito, revisado y probado por el equipo en el GitHub:
@Yuance li, @wen ouyang, @runying jia, @yuhan jia, @lei wang
