简体中文
Tutorial 中文教程 Video de demostración
Neuronblocks es un conjunto de herramientas de modelado de aprendizaje profundo de NLP que ayuda a los ingenieros/investigadores a construir tuberías de extremo a extremo para la capacitación en modelos de redes neuronales para tareas de PNL. El objetivo principal de este conjunto de herramientas es minimizar el costo de desarrollo para la construcción de modelos de red neuronal profunda de PNL, incluidas las etapas de capacitación e inferencia.
Neuronblocks consta de dos componentes principales: zoológico de bloque y zoológico modelo .
Los usuarios pueden elegir modelos existentes (archivos de configuración) en el zoológico del modelo para comenzar la capacitación del modelo o crear nuevos modelos aprovechando los bloques de redes neuronales en el zoológico de bloques al igual que jugar con LEGO.
Nota: Neuronblocks requiere Python 3.6 y superior.
Clon este proyecto.
git clone https://github.com/Microsoft/NeuronBlocksInstale los paquetes de Python en requisitos.txt por el siguiente comando.
pip install -r requirements.txtInstale Pytorch ( Neuronblocks admite Pytorch 0.4.1 y superior ).
Para Linux , ejecute el siguiente comando:
pip install " torch>=0.4.1 "Para Windows , le sugerimos que instale Pytorch a través de Conda siguiendo las instrucciones de Pytorch.
Comience intentando los ejemplos dados. Se admiten tanto Linux/Windows, GPU/CPU . Para Windows , le sugerimos que use PowerShell en lugar de CMD.
Consejos: En la siguiente instrucción, Projectroot denota el directorio raíz de este proyecto.
# 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.jsonPara la predicción, los bloques neuronos tienen dos modos: interactivos y por lotes .
# 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.tsvPara obtener más detalles, consulte Tutorial.MD y documentación de código.
Ingenieros o investigadores que enfrentan los siguientes desafíos cuando utilizan modelos de redes neuronales para abordar los problemas de PNL:
Las ventajas de aprovechar los bloques neuronos para el entrenamiento del modelo de red neuronal de PNL incluyen:
Construcción de modelos : para la construcción de modelos y la ajuste de parámetros, los usuarios solo necesitan escribir archivos de configuración JSON simples, que minimizan en gran medida el esfuerzo de implementar nuevas ideas.
Compartir modelos Es muy fácil compartir modelos solo a través de archivos JSON, en lugar de códigos desagradables. Para diferentes modelos o tareas, nuestros usuarios solo necesitan mantener una única base de código fuente centralizado.
Reutilización del código : los bloques comunes se pueden compartir fácilmente en varios modelos o tareas, reduciendo el trabajo de codificación duplicada.
Flexibilidad de la plataforma : los bloques neuronos pueden ejecutarse tanto en las máquinas Linux como en Windows, utilizando CPU y GPU. También admite la capacitación en plataformas de GPU como Philly y Pai.
| Inferencia de la CPU | Inferencia de un solo GPU | Inferencia multi-GPU | |
| Tren de la CPU | ✓ | ✓ | ✓ |
| Tren de una sola forma | ✓ | ✓ | ✓ |
| Tren multi-GPU | ✓ | ✓ | ✓ |
Visualización del modelo : se proporciona un visualizador del modelo para la visualización y configurar la verificación de corrección, lo que ayuda a los usuarios a visualizar la arquitectura del modelo fácilmente durante la depuración.
Extensibilidad : Neuronblocks es extensible, lo que permite a los usuarios contribuir con nuevos bloques o contribuir con modelos novedosos (archivos JSON).
Neuronblocks opera en un modelo abierto. Está diseñado y desarrollado por STCA NLP Group, Microsoft . Las contribuciones de la academia y la industria también son muy bienvenidas. Para obtener más detalles, consulte Contriping.md.
Cualquier persona que esté familiarizada se vean muy alentada de contribuir con código.
Neuronblocks: construyendo sus modelos DNN NLP como jugar LEGO. EMNLP 2019 , en 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. Reservados todos los derechos.
Licenciado bajo la licencia del MIT.
Si tiene alguna pregunta, comuníquese con [email protected]
Si tiene WeChat, también puede agregar la siguiente cuenta: