# facebookresearch/pytext

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/facebookresearch-pytext).**

6,298 stars · 786 forks · Python · NOASSERTION · archived

## Links

- GitHub: https://github.com/facebookresearch/pytext
- Homepage: https://pytext.readthedocs.io/en/master/
- awesome-repositories: https://awesome-repositories.com/repository/facebookresearch-pytext.md

## Description

PyText is an extensible PyTorch-based framework for building, training, and deploying custom natural language processing models, including text classifiers, sequence taggers, and intent-slot predictors. It provides a modular toolkit that allows developers to assemble these models using pluggable registries for model architectures, data formats, and tensorizers, all configurable through YAML files without requiring code changes.

The framework distinguishes itself through its comprehensive support for the full NLP model lifecycle, from training to production inference. It includes pre-built neural network heads for common tasks like classification and sequence tagging, a PyTorch-based training loop that supports single-node and multi-GPU distributed training, and automatic mixed-precision training via PyTorch AMP to reduce memory footprint and accelerate training. For deployment, PyText offers a graph-optimized export pipeline that transforms trained models into static execution graphs via TorchScript for low-latency inference.

The framework enables custom model development by allowing users to extend modular components for architecture, data formats, and tensorizers. It supports training pipelines for text classifiers, sequence taggers, and joint intent-slot models, with the ability to scale training across multiple GPUs or nodes. The export tool converts trained models into optimized execution graphs suitable for production serving, supporting inference on raw text input for tasks like intent prediction, slot extraction, and token-level sequence tagging.

## Tags

### Artificial Intelligence & ML

- [Natural Language Processing](https://awesome-repositories.com/f/artificial-intelligence-ml/natural-language-processing.md) — An extensible PyTorch-based framework for building, training, and deploying custom NLP models like text classifiers and sequence taggers.
- [Joint Intent-Slot Models](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-architectures/user-intent-modeling/intent-recognition/joint-intent-slot-models.md) — Creates joint models that predict both intent and slot labels from a single utterance. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Distributed Training Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-accelerators.md) — Scales NLP model training across multiple GPUs or nodes using PyTorch's distributed data parallel primitives.
- [Distributed Training Scaling Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/distributed-training-scaling-utilities.md) — Distributes training across multiple GPUs or nodes for faster iteration on NLP models. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Slot Extraction Systems](https://awesome-repositories.com/f/artificial-intelligence-ml/intent-extraction-systems/slot-extraction-systems.md) — Predicts user intent and extracts slot values from spoken utterances for natural language understanding applications.
- [Distributed Training](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/distributed-training.md) — Scales model training across multiple GPUs or machines using a distributed backend. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Task-Specific Heads](https://awesome-repositories.com/f/artificial-intelligence-ml/model-architectures/task-specific-heads.md) — Ships pre-built neural network heads for classification, sequence tagging, and intent-slot prediction.
- [Pluggable Registries](https://awesome-repositories.com/f/artificial-intelligence-ml/model-component-registries/pluggable-registries.md) — Provides pluggable registries for model architectures, data formats, and tensorizers that can be extended without modifying core code.
- [Structured Experiment Configurations](https://awesome-repositories.com/f/artificial-intelligence-ml/model-parameter-configurations/structured-experiment-configurations.md) — Provides a YAML-driven configuration system for specifying model hyperparameters, data pipelines, and training settings.
- [Production Inference Exports](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/model-exporting/production-inference-exports.md) — Exports trained NLP models into optimized TorchScript graphs for low-latency production serving.
- [NLP Training Toolkits](https://awesome-repositories.com/f/artificial-intelligence-ml/pytorch-training-frameworks/nlp-training-toolkits.md) — Provides a modular PyTorch-based pipeline for training text classifiers, sequence taggers, and intent-slot models.
- [Modular Assembly Toolkits](https://awesome-repositories.com/f/artificial-intelligence-ml/pytorch-training-frameworks/nlp-training-toolkits/modular-assembly-toolkits.md) — Provides a modular toolkit for assembling text classifiers, sequence taggers, and intent-slot models using PyTorch components.
- [Sequence Tagger Training](https://awesome-repositories.com/f/artificial-intelligence-ml/sequence-tagger-training.md) — Trains models that label each token in a sequence, such as for named entity recognition. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Sequence Tagging Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/sequence-tagging-frameworks.md) — Provides a framework for labeling each token in text sequences with tags such as named entities using neural network architectures.
- [Text Classification Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/text-classification-frameworks.md) — Provides a framework for training deep-learning text classifiers with convolutional or self-attentive architectures on labeled utterances.
- [Configurable Text Classifiers](https://awesome-repositories.com/f/artificial-intelligence-ml/text-classifiers/text-classifier-construction/configurable-text-classifiers.md) — Trains deep-learning text classifiers from labeled utterances using configurable architectures. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Text Classifier Training](https://awesome-repositories.com/f/artificial-intelligence-ml/text-model-training/text-classifier-training.md) — Trains deep-learning models to sort text into predefined categories using configurable architectures. ([source](https://pytext.readthedocs.io/en/master/))
- [PyTorch Training Loops](https://awesome-repositories.com/f/artificial-intelligence-ml/training-loop-schedulers/pytorch-training-loops.md) — Leverages PyTorch's autograd and distributed data parallel primitives to orchestrate single-node and multi-GPU training.
- [NLP Model Assemblers](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-model-training/custom-predictive-model-development/nlp-model-assemblers.md) — Assembles new text classifiers, sequence taggers, or intent-slot models by extending modular components.
- [Modular Model Assemblers](https://awesome-repositories.com/f/artificial-intelligence-ml/custom-model-training/nlp-specific/modular-model-assemblers.md) — Assembles text classifiers, sequence taggers, or intent-slot models using modular components. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Mixed Precision Training](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/machine-learning-training/distributed-and-accelerated-compute/training-acceleration-tools/mixed-precision-training.md) — Accelerates NLP model training and reduces memory usage via automatic mixed precision with PyTorch AMP.
- [Modular Component Extensions](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/infrastructure/model-training-and-tuning/fine-tuning-and-customization/model-customization/modular-component-extensions.md) — Adds new model components, data formats, and tensorizers through modular interfaces. ([source](https://pytext.readthedocs.io/en/master/))
- [Model Predictions](https://awesome-repositories.com/f/artificial-intelligence-ml/model-predictions.md) — Runs inference on raw text input using an exported model to output predicted class labels. ([source](https://cdn.jsdelivr.net/gh/facebookresearch/pytext@main/README.md))
- [Model Exporting](https://awesome-repositories.com/f/artificial-intelligence-ml/model-training/model-exporting.md) — Converts trained NLP models into optimized execution graphs for low-latency production inference.
- [Static Graph Exports](https://awesome-repositories.com/f/artificial-intelligence-ml/pytorch-model-export/static-graph-exports.md) — Transforms trained PyTorch models into static execution graphs via TorchScript for low-latency inference.

### Part of an Awesome List

- [Natural Language Processing](https://awesome-repositories.com/f/awesome-lists/ai/natural-language-processing.md) — NLP modeling framework based on PyTorch.
- [PyTorch Utilities](https://awesome-repositories.com/f/awesome-lists/more/pytorch-utilities.md) — Listed in the “PyTorch Utilities” section of the The Incredible Pytorch awesome list.
