NeMo is a toolkit for creating Conversational AI applications.
NeMo toolkit makes it possible for researchers to easily compose complex neural network architectures for conversational AI using reusable components - Neural Modules. Neural Modules are conceptual blocks of neural networks that take typed inputs and produce typed outputs. Such modules typically represent data layers, encoders, decoders, language models, loss functions, or methods of combining activations.
The toolkit comes with extendable collections of pre-built modules and ready-to-use models for automatic speech recognition (ASR), natural language processing (NLP) and text synthesis (TTS). Built for speed, NeMo can utilize NVIDIA's Tensor Cores and scale out training to multiple GPUs and multiple nodes.
NeMo's works with:
- Python 3.6 or 3.7
- Pytorch 1.6 or above
We recommend using NVIDIA's PyTorch container version 20.06-py3 with NeMo's main branch.
docker run --gpus all -it --rm -v <nemo_github_folder>:/NeMo --shm-size=8g \
-p 8888:8888 -p 6006:6006 --ulimit memlock=-1 --ulimit \
stack=67108864 nvcr.io/nvidia/pytorch:20.06-py3
Once requirements are satisfied (or you are inside NVIDIA docker container), simply install using pip:
pip install nemo_toolkit[all]==version
pip install nemo_toolkit[all]
- latest released version (currently 0.11.0)python -m pip install git+https://github.com/NVIDIA/NeMo.git@{BRANCH}#egg=nemo_toolkit[nlp]
- where {BRANCH} should be replaced with the branch you want. This is recommended route if you are testing out the latest WIP version of NeMo.
The best way to get started with NeMo is to checkout one of our tutorials.
Most NeMo tutorials can be run on Google's Colab.
To run tutorials:
1. Click on Colab link (see table below) 3. Connect to an instance with a GPU (Runtime -> Change runtime type -> select "GPU" for hardware accelerator)
Domain | Title | GitHub URL |
---|---|---|
ASR | ASR with NeMo | 01_ASR_with_NeMo.ipynb |
ASR | Speech Commands | 02_Speech_Commands.ipynb |
ASR | Online Noise Augmentation | 05_Online_Noise_Augmentation.ipynb |
NLP | Punctuation and Capitialization | Punctuation_and_Capitalization.ipynb |
We welcome community contributions! Please refer to the CONTRIBUTING.md for the process.
NeMo is under Apache 2.0 license.