
Nous avons renommé la référentiel de Xlearning à Hbox.
Si vous avez un clone local du référentiel, veuillez mettre à jour votre URL distante:
git remote set-url origin https://github.com/Qihoo360/hbox.gitHbox est une plate-forme de planification pratique et efficace combinée avec les mégadonnées et l'intelligence artificielle, la prise en charge d'une variété de cadres d'apprentissage automatique. Hbox fonctionne sur le fil Hadoop et a intégré des cadres d'apprentissage en profondeur tels que Tensornet, TensorFlow, Mxnet, Caffe, Theano, Pytorch, Keras, Xgboost , Horovod, Openmpi, Tensor2tensor. Prise en charge du calendrier des ressources GPU, exécuté dans Docker et Resful API Management Interface. Hbox a l'évolutivité et la compatibilité satisfaisantes.
中文文档

Il y a trois composants essentiels dans HBOX:
Outre le mode distribué des frameworks TensorFlow et MXNET, HBOX prend en charge le mode autonome de tous les cadres d'apprentissage en profondeur tels que Caffe, Theano, Pytorch. De plus, HBOX permet de manière flexible les versions personnalisées et la multi-version des frameworks.
Données de formation et résultats du modèle Enregistrer sur HDFS (support S3). HBOX est permis de spécifier la stratégie d'entrée pour les données d'entrée --input en définissant le paramètre --input-strategy ou hbox.input.strategy Configuration. Hbox prend en charge trois façons de lire les données d'entrée HDFS:
Semblable à la stratégie de lecture, HBOX permet de spécifier la stratégie de sortie pour les données de sortie --output en définissant le paramètre --output-strategy ou la configuration hbox.output.strategy . Il existe deux types de modes de sortie de résultat:
Plus de détails voir la gestion des données
L'interface d'application peut être divisée en quatre parties:

À l'exception de la construction automatique du Cluterspec au cadre de TensorFlow en mode distribué, le programme en mode autonome TensorFlow et d'autres cadres d'apprentissage en profondeur peuvent être exécutés directement sur HBOX.
Exécutez la commande suivante dans le répertoire racine du code source:
./mvnw package
Après la compilation, un package de distribution nommé hbox-1.1-dist.tar.gz sera généré sous core/target dans le répertoire racine. Déballage du package de distribution, les sous-répertoires suivants seront générés dans le répertoire racine:
Pour configurer des configurations, l'utilisateur doit définir HBOX_CONF_DIR dans un dossier contenant un hbox-site.xml valide, ou lier ce dossier à $HBOX_HOME/conf .
Dans le cadre du répertoire "conf" du package de distribution de déballage "$ hbox_home", configurez les fichiers associés:
hbox-env.sh: définissez les variables d'environnement, telles que:
hbox-site.xml: configurer les propriétés associées. Notez que les propriétés associées au service d'historique doivent être cohérentes avec ce qui a configuré lorsque le service d'historique a démarré. Pour plus de détails, veuillez consulter la partie de configuration 。
log4j.properties: Configurez le niveau de journal
$HBOX_HOME/sbin/start-history-server.sh . Utilisez $HBOX_HOME/bin/hbox-submit pour soumettre l'application au cluster dans le client hbox. Voici l'exemple de soumission pour la demande TensorFlow.
Téléchargez le répertoire "Data" sous la racine du package de distribution de déballage à 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
La signification des paramètres est la suivante:
| Nom de propriété | Signification |
|---|---|
| nom d'application | Nom de l'application comme "TF-Demo" |
| type d'application | Type d'application comme "TensorFlow" |
| saisir | Fichier d'entrée, le chemin HDFS est "/ tmp / data / tensorflow" lié au dir local "./data" |
| sortir | Fichier de sortie , Le chemin HDFS est "/ tmp / tensorflow_model" lié au dir local "./Model" |
| fichiers | Programme d'application et fichiers locaux requis, y compris Demo.py, datadeal.py |
| mémoire de travailleur | La quantité de mémoire à utiliser pour le processus de travailleur est de 10 Go |
| travailleuse | Le nombre de conteneurs de travailleurs à utiliser pour l'application est 2 |
| travailleurs | Le nombre de noyaux à utiliser pour le processus de travailleur est 3 |
| PS-mémoire | quantité de mémoire à utiliser pour le processus PS est de 1 Go |
| PS-NUM | Le nombre de conteneurs PS à utiliser pour l'application est 1 |
| ps-cores | Le nombre de noyaux à utiliser pour le processus PS est 2 |
| file d'attente | la file d'attente à laquelle la demande soumet |
Pour plus de détails, définissez la partie du paramètre de soumettre 。
HBOX FAQ
Hbox est conçu, rédigé, révisé et testé par l'équipe du GitHub:
@Yuance li, @wen ouyang, @runying jia, @yuhan jia, @lei wang
