资源算法NeMo

NeMo

2019-09-27 | |  95 |   0 |   0

NVIDIA Neural Modules: NeMo

NeMo (Neural Modules) is a toolkit for creating AI applications built around neural modules, 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.

NeMo makes it easy to combine and re-use these building blocks while providing a level of semantic correctness checking via its neural type system. As long as two modules have compatible inputs and outputs, it is legal to chain them together. An application built with NeMo is a Directed Acyclic Graph (DAG) of connected modules.

NeMo's API is designed to be framework-agnostic, but currently only PyTorch is supported.

NeMo follows a lazy execution model: no computation is done until an action (such as optimizer.optimize(...) is called.

The toolkit comes with extendable collections of pre-built modules for automatic speech recognition (ASR) and natural language processing (NLP). Furthermore, NeMo provides built-in support for distributed training and mixed precision on the latest NVIDIA GPUs.

NeMo consists of:

  • NeMo Core: fundamental building blocks for all neural models and type system.

  • NeMo collections: pre-built neural modules for particular domains such as automatic speech recognition (nemo_asr) and natural language processing (nemo_nlp).

Introduction

See this video for a quick walk-through.

Requirements

  1. Python 3.6 or 3.7

  2. PyTorch 1.2 with GPU support

  3. NVIDIA APEX. Install from here: https://github.com/NVIDIA/apex

Documentation

NeMo documentation

See examples/start_here to get started with the simplest example. The folder examples contains several examples to get you started with various tasks in NLP and ASR.

Getting started

You can use our NGC PyTorch container which already includes all the requirements above.

  • Pull the docker: docker pull nvcr.io/nvidia/pytorch:19.08-py3

  • Run: nvidia-docker run -it --rm -v <nemo_github_folder>:/NeMo --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/pytorch:19.08-py3

  • cd /NeMo

and then continue with the following steps.

If you have all requirements installed (or are using NGC PyTorch container ), then you can simply use pip to install the latest released version of NeMo and its collections (currently 0.8):

pip install nemo-toolkit  # install NeMo Corepip install nemo-asr # installs NeMo ASR collectionpip install nemo-nlp # installs NeMo NLP collection

Tutorials

Installing From Github

If you prefer to use NeMo's latest development version (from GitHub) follow the steps below:

Note: For step 2 and 3, if you want to use NeMo in development mode, use: pip install -e . instead of pip install .

  1. Clone the repository git clone https://github.com/NVIDIA/NeMo.git

  2. Go to NeMo folder and install the toolkit:

cd NeMo/nemo
pip install .
  1. Install the collection(s) you want.

# Install the ASR collection from collections/nemo_asrapt-get install libsndfile1cd NeMo/collections/nemo_asr
pip install .# Install the NLP collection from collections/nemo_nlpcd NeMo/collections/nemo_nlp
pip install .

Unittests

This command runs unittests:

./reinstall.sh
python -m unittest tests/*.py


上一篇:pytorch-kaldi

下一篇:ptstat

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...