"""
Intergation of the pytorch_transformers openai and gpt2 modules.
Note that these objects are only to be used to load
pretrained models. The pytorch-transformers library
wasn't designed to train these models from scratch.
"""
import pytorch_transformers as pt
from flambe.nlp.transformers.utils import TransformerTextField, TransformerEmbedder
[docs]class GPTTextField(TransformerTextField):
"""Integrate the pytorch_transformers OpenAIGPTTokenizer.
Currently available aliases:
. `openai-gpt`
"""
[docs] _cls = pt.OpenAIGPTTokenizer
[docs]class GPTEmbedder(TransformerEmbedder):
"""Integrate the pytorch_transformers OpenAIGPTmodel.
Currently available aliases:
. `openai-gpt`
"""
[docs] _cls = pt.OpenAIGPTModel
[docs]class GPT2TextField(TransformerTextField):
"""Integrate the pytorch_transformers GPT2Tokenizer.
Currently available aliases:
. `gpt2`
. `gpt2-medium`
. `gpt2-large`
"""
[docs] _cls = pt.GPT2Tokenizer
[docs]class GPT2Embedder(TransformerEmbedder):
"""Integrate the pytorch_transformers GPT2Model.
Currently available aliases:
. `gpt2`
. `gpt2-medium`
. `gpt2-large`
"""