# fastNLP
[](https://travis-ci.org/fastnlp/fastNLP)
[](https://codecov.io/gh/fastnlp/fastNLP)
[](https://badge.fury.io/py/fastNLP)

[](http://fastnlp.readthedocs.io/?badge=latest)
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
- [Tutorials](https://github.com/fastnlp/fastNLP/tree/master/tutorials)
- [Documentation](https://fastnlp.readthedocs.io/en/latest/)
- [Source Code](https://github.com/fastnlp/fastNLP)
## Installation
Run the following commands to install fastNLP package.
```shell
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 |