transformers/docs/source/installation.md
2020-06-16 13:03:41 -04:00

3.3 KiB

Installation

Transformers is tested on Python 3.6+ and PyTorch 1.1.0

With pip

PyTorch Transformers can be installed using pip as follows:

pip install transformers

From source

To install from source, clone the repository and install with:

git clone https://github.com/huggingface/transformers.git
cd transformers
pip install .

Caching models

This library provides pretrained models that will be downloaded and cached locally. Unless you specify a location with cache_dir=... when you use the from_pretrained method, these models will automatically be downloaded in the folder given by the shell environment variable TRANSFORMERS_CACHE. The default value for it will be the PyTorch cache home followed by /transformers/ (even if you don't have PyTorch installed). This is (by order of priority):

  • shell environment variable ENV_TORCH_HOME
  • shell environment variable ENV_XDG_CACHE_HOME + /torch/
  • default: ~/.cache/torch/

So if you don't have any specific environment variable set, the cache directory will be at ~/.cache/torch/transformers/.

Note: If you have set a shell enviromnent variable for one of the predecessors of this library (PYTORCH_TRANSFORMERS_CACHE or PYTORCH_PRETRAINED_BERT_CACHE), those will be used if there is no shell enviromnent variable for TRANSFORMERS_CACHE.

Tests

An extensive test suite is included to test the library behavior and several examples. Library tests can be found in the tests folder and examples tests in the examples folder.

Refer to the contributing guide for details about running tests.

OpenAI GPT original tokenization workflow

If you want to reproduce the original tokenization process of the OpenAI GPT paper, you will need to install ftfy and SpaCy:

pip install spacy ftfy==4.4.3
python -m spacy download en

If you don't install ftfy and SpaCy, the OpenAI GPT tokenizer will default to tokenize using BERT's BasicTokenizer followed by Byte-Pair Encoding (which should be fine for most usage, don't worry).

Note on model downloads (Continuous Integration or large-scale deployments)

If you expect to be downloading large volumes of models (more than 1,000) from our hosted bucket (for instance through your CI setup, or a large-scale production deployment), please cache the model files on your end. It will be way faster, and cheaper. Feel free to contact us privately if you need any help.

Do you want to run a Transformer model on a mobile device?

You should check out our swift-coreml-transformers repo.

It contains a set of tools to convert PyTorch or TensorFlow 2.0 trained Transformer models (currently contains GPT-2, DistilGPT-2, BERT, and DistilBERT) to CoreML models that run on iOS devices.

At some point in the future, you'll be able to seamlessly move from pre-training or fine-tuning models in PyTorch to productizing them in CoreML, or prototype a model or an app in CoreML then research its hyperparameters or architecture from PyTorch. Super exciting!