简体中文
Tutoriel 中文教程 Vidéo de démonstration
NeuronBlocks est une boîte à outils de modélisation de l'apprentissage en profondeur PNL qui aide les ingénieurs / chercheurs à construire des pipelines de bout en bout pour une formation de modèle de réseau neuronal pour les tâches PNL. L'objectif principal de cette boîte à outils est de minimiser les coûts de développement de la création de modèles de réseaux neuronaux profonds PNL, y compris les étapes de formation et d'inférence.
Les neuronblocs se compose de deux composants principaux: Block Zoo et Model Zoo .
Les utilisateurs peuvent soit choisir des modèles existants (fichiers de configuration) dans Model Zoo pour démarrer la formation du modèle ou créer de nouveaux modèles en tirant parti des blocs de réseau neuronal dans Block Zoo, tout comme la lecture avec LEGO.
Remarque: les neuronblocks nécessitent Python 3.6 et au-dessus.
Cloner ce projet.
git clone https://github.com/Microsoft/NeuronBlocksInstallez les packages Python dans exigences.txt par la commande suivante.
pip install -r requirements.txtInstallez Pytorch ( les neuronblocs prennent en charge Pytorch 0.4.1 et plus ).
Pour Linux , exécutez la commande suivante:
pip install " torch>=0.4.1 "Pour Windows , nous vous suggérons d'installer Pytorch via Conda en suivant l'instruction de Pytorch.
Commencez par essayer les exemples donnés. Linux / Windows, GPU / CPU sont pris en charge. Pour Windows , nous vous suggérons d'utiliser PowerShell au lieu de CMD.
Conseils: Dans l'instruction suivante, Projectroot désigne le répertoire racine de ce projet.
# train
cd PROJECT_ROOT
python train.py --conf_path=model_zoo/demo/conf.json
# test
python test.py --conf_path=model_zoo/demo/conf.json
# predict
python predict.py --conf_path=model_zoo/demo/conf.jsonPour la prédiction, les neuronblocs ont deux modes: interactifs et lot .
# use the above example
# interactive prediction
python predict.py --conf_path=model_zoo/demo/conf.json --predict_mode= ' interactive ' # use the above example
# batch prediction
python predict.py --conf_path=model_zoo/demo/conf.json --predict_mode= ' batch ' --predict_data_path=dataset/demo/predict.tsvPour plus de détails, veuillez vous référer à Tutorial.md et à la documentation du code.
Les ingénieurs ou les chercheurs qui sont confrontés aux défis suivants lors de l'utilisation de modèles de réseau de neurones pour résoudre les problèmes de PNL:
Les avantages de tirer parti des neuronblocs pour la formation du modèle de réseau neuronal NLP comprennent:
Bâtiment du modèle : Pour la construction de modèles et le réglage des paramètres, les utilisateurs doivent uniquement écrire des fichiers de configuration JSON simples, qui minimisent considérablement l'effort d'implémentation de nouvelles idées.
Partage de modèle Il est super facile de partager des modèles uniquement via des fichiers JSON, au lieu de codes désagréables. Pour différents modèles ou tâches, nos utilisateurs n'ont besoin que de maintenir une seule base de code source centralisée.
Réutilisabilité du code : les blocs communs peuvent être facilement partagés sur divers modèles ou tâches, en réduisant les travaux de codage en double.
Flexibilité de la plate-forme : les neuronblocks peuvent fonctionner à la fois sur les machines Linux et Windows, en utilisant à la fois CPU et GPU. Il soutient également la formation sur les plateformes GPU comme Philly et Pai.
| Inférence du processeur | Inférence unique-GPU | Inférence multi-GPU | |
| Train processeur | ✓ | ✓ | ✓ |
| Train unique GPU | ✓ | ✓ | ✓ |
| Train multi-gpu | ✓ | ✓ | ✓ |
Visualisation du modèle : Un visualiseur de modèle est fourni pour la visualisation et la vérification de l'exactitude de la correction, qui aide les utilisateurs à visualiser facilement l'architecture du modèle pendant le débogage.
Extensibilité : les neuronblocks sont extensibles, permettant aux utilisateurs de contribuer de nouveaux blocs ou de contribuer de nouveaux modèles (fichiers JSON).
Les neuronblocks opèrent dans un modèle ouvert. Il est conçu et développé par STCA NLP Group, Microsoft . Les contributions du monde universitaire et de l'industrie sont également très bienvenues. Pour plus de détails, veuillez vous référer à contribution.md.
Quiconque connaît est fortement encouragé à contribuer du code.
NeuronBlocks - Construire vos modèles DNN NLP comme jouer augo. EMNLP 2019 , à https://arxiv.org/abs/1904.09535.
@article{gong2019neuronblocks,
title={NeuronBlocks--Building Your NLP DNN Models Like Playing Lego},
author={Gong, Ming and Shou, Linjun and Lin, Wutao and Sang, Zhijie and Yan, Quanjia and Yang, Ze, Cheng, Feixiang and Jiang, Daxin},
journal={arXiv preprint arXiv:1904.09535},
year={2019}
}
Copyright (c) Microsoft Corporation. Tous droits réservés.
Licencié sous la licence du MIT.
Si vous avez des questions, veuillez contacter [email protected]
Si vous avez WeChat, vous pouvez également ajouter le compte suivant: