/fastNLP

fastNLP: A Modularized and Extensible Toolkit for Natural Language Processing. Currently still in incubation.

Primary LanguagePythonApache License 2.0Apache-2.0

fastNLP

Build Status codecov PyPI version Hex.pm Documentation Status

FastNLP is a modular Natural Language Processing system based on PyTorch, built for fast development of NLP models.

A deep learning NLP model is the composition of three types of modules:

module type functionality example
encoder encode the input into some abstract representation embedding, RNN, CNN, transformer
aggregator aggregate and reduce information self-attention, max-pooling
decoder decode the representation into the output MLP, CRF

For example:

Requirements

  • Python>=3.6
  • numpy>=1.14.2
  • torch>=0.4.0
  • tensorboardX
  • tqdm>=4.28.1

Resources

Installation

Run the following commands to install fastNLP package.

pip install fastNLP

Project Structure

fastNLP an open-source NLP library
fastNLP.api APIs for end-to-end prediction
fastNLP.core data representation & train/test procedure
fastNLP.models a collection of NLP models
fastNLP.modules a collection of PyTorch sub-models/components/wheels
fastNLP.io readers & savers