/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, for fast development of NLP tools. It divides the NLP model based on deep learning into different modules. These modules fall into 4 categories: encoder, interaction, aggregation and decoder, while each category contains different implemented modules. Encoder modules encode the input into some abstract representation, interaction modules make the information in the representation interact with each other, aggregation modules aggregate and reduce information, and decoder modules decode the representation into the output. Most current NLP models could be built on these modules, which vastly simplifies the process of developing NLP models. The architecture of fastNLP is as the figure below:

Requirements

  • numpy>=1.14.2
  • torch>=0.4.0
  • torchvision>=0.1.8
  • tensorboardX

Resources

Installation

Run the following commands to install fastNLP package.

pip install fastNLP

Project Structure

fastNLP an open-source NLP library
fastNLP.core trainer, tester, predictor
fastNLP.loader all kinds of loaders/readers
fastNLP.models a collection of NLP models
fastNLP.modules a collection of PyTorch sub-models/components/wheels
fastNLP.saver all kinds of savers/writers
fastNLP.fastnlp a high-level interface for prediction