Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
4447f270
Commit
4447f270
authored
Jun 17, 2019
by
thomwolf
Browse files
updating hub
parent
33d3db5c
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
76 additions
and
12 deletions
+76
-12
README.md
README.md
+45
-0
hubconfs/bert_hubconf.py
hubconfs/bert_hubconf.py
+12
-0
hubconfs/gpt2_hubconf.py
hubconfs/gpt2_hubconf.py
+9
-5
hubconfs/gpt_hubconf.py
hubconfs/gpt_hubconf.py
+10
-7
No files found.
README.md
View file @
4447f270
...
...
@@ -309,6 +309,28 @@ predicted_token = tokenizer.convert_ids_to_tokens([predicted_index])[0]
assert
predicted_token
==
'.</w>'
```
And how to use
`OpenAIGPTDoubleHeadsModel`
```
python
# Load pre-trained model (weights)
model
=
OpenAIGPTDoubleHeadsModel
.
from_pretrained
(
'openai-gpt'
)
model
.
eval
()
# Prepare tokenized input
text1
=
"Who was Jim Henson ? Jim Henson was a puppeteer"
text2
=
"Who was Jim Henson ? Jim Henson was a mysterious young man"
tokenized_text1
=
tokenizer
.
tokenize
(
text1
)
tokenized_text2
=
tokenizer
.
tokenize
(
text2
)
indexed_tokens1
=
tokenizer
.
convert_tokens_to_ids
(
tokenized_text1
)
indexed_tokens2
=
tokenizer
.
convert_tokens_to_ids
(
tokenized_text2
)
tokens_tensor
=
torch
.
tensor
([[
indexed_tokens1
,
indexed_tokens2
]])
mc_token_ids
=
torch
.
LongTensor
([[
len
(
tokenized_text1
)
-
1
,
len
(
tokenized_text2
)
-
1
]])
# Predict hidden states features for each layer
with
torch
.
no_grad
():
lm_logits
,
multiple_choice_logits
=
model
(
tokens_tensor
,
mc_token_ids
)
```
### Transformer-XL
Here is a quick-start example using
`TransfoXLTokenizer`
,
`TransfoXLModel`
and
`TransfoXLModelLMHeadModel`
class with the Transformer-XL model pre-trained on WikiText-103. See the
[
doc section
](
#doc
)
below for all the details on these classes.
...
...
@@ -456,6 +478,29 @@ predicted_index = torch.argmax(predictions_2[0, -1, :]).item()
predicted_token
=
tokenizer
.
decode
([
predicted_index
])
```
And how to use
`GPT2DoubleHeadsModel`
```
python
# Load pre-trained model (weights)
model
=
GPT2DoubleHeadsModel
.
from_pretrained
(
'gpt2'
)
model
.
eval
()
# Prepare tokenized input
text1
=
"Who was Jim Henson ? Jim Henson was a puppeteer"
text2
=
"Who was Jim Henson ? Jim Henson was a mysterious young man"
tokenized_text1
=
tokenizer
.
tokenize
(
text1
)
tokenized_text2
=
tokenizer
.
tokenize
(
text2
)
indexed_tokens1
=
tokenizer
.
convert_tokens_to_ids
(
tokenized_text1
)
indexed_tokens2
=
tokenizer
.
convert_tokens_to_ids
(
tokenized_text2
)
tokens_tensor
=
torch
.
tensor
([[
indexed_tokens1
,
indexed_tokens2
]])
mc_token_ids
=
torch
.
LongTensor
([[
len
(
tokenized_text1
)
-
1
,
len
(
tokenized_text2
)
-
1
]])
# Predict hidden states features for each layer
with
torch
.
no_grad
():
lm_logits
,
multiple_choice_logits
,
past
=
model
(
tokens_tensor
,
mc_token_ids
)
```
## Doc
Here is a detailed documentation of the classes in the package and how to use them:
...
...
hubconfs/bert_hubconf.py
View file @
4447f270
...
...
@@ -23,6 +23,9 @@ bert_docstring = """
. `bert-base-multilingual-uncased`
. `bert-base-multilingual-cased`
. `bert-base-chinese`
. `bert-base-german-cased`
. `bert-large-uncased-whole-word-masking`
. `bert-large-cased-whole-word-masking`
- a path or url to a pretrained model archive containing:
. `bert_config.json` a configuration file for the model
. `pytorch_model.bin` a PyTorch dump of a BertForPreTraining
...
...
@@ -81,6 +84,7 @@ def bertTokenizer(*args, **kwargs):
Default: ["[UNK]", "[SEP]", "[PAD]", "[CLS]", "[MASK]"]
Example:
>>> import torch
>>> sentence = 'Hello, World!'
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
>>> toks = tokenizer.tokenize(sentence)
...
...
@@ -101,6 +105,7 @@ def bertModel(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -129,6 +134,7 @@ def bertForNextSentencePrediction(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -158,6 +164,7 @@ def bertForPreTraining(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -181,6 +188,7 @@ def bertForMaskedLM(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -222,6 +230,7 @@ def bertForSequenceClassification(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -256,6 +265,7 @@ def bertForMultipleChoice(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -288,6 +298,7 @@ def bertForQuestionAnswering(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
@@ -326,6 +337,7 @@ def bertForTokenClassification(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'bertTokenizer', 'bert-base-cased', do_basic_tokenize=False)
# Prepare tokenized input
>>> text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]"
...
...
hubconfs/gpt2_hubconf.py
View file @
4447f270
...
...
@@ -11,7 +11,7 @@ gpt2_docstring = """
Params:
pretrained_model_name_or_path: either:
- a str with the name of a pre-trained model to load selected in the list of:
. `gpt2`
. `gpt2`
, `gpt2-medium`
- a path or url to a pretrained model archive containing:
. `gpt2_config.json` a configuration file for the model
. `pytorch_model.bin` a PyTorch dump of a GPT2Model instance
...
...
@@ -147,10 +147,14 @@ def gpt2DoubleHeadsModel(*args, **kwargs):
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'gpt2Tokenizer', 'gpt2')
# Prepare tokenized input
>>> text = "Who was Jim Henson ?"
>>> indexed_tokens = tokenizer.encode(text)
>>> tokens_tensor = torch.tensor([indexed_tokens])
>>> mc_token_ids = torch.LongTensor([ [len(indexed_tokens)] ])
>>> text1 = "Who was Jim Henson ? Jim Henson was a puppeteer"
>>> text2 = "Who was Jim Henson ? Jim Henson was a mysterious young man"
>>> tokenized_text1 = tokenizer.tokenize(text1)
>>> tokenized_text2 = tokenizer.tokenize(text2)
>>> indexed_tokens1 = tokenizer.convert_tokens_to_ids(tokenized_text1)
>>> indexed_tokens2 = tokenizer.convert_tokens_to_ids(tokenized_text2)
>>> tokens_tensor = torch.tensor([[indexed_tokens1, indexed_tokens2]])
>>> mc_token_ids = torch.LongTensor([[len(tokenized_text1)-1, len(tokenized_text2)-1]])
# Load gpt2DoubleHeadsModel
>>> model = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'gpt2DoubleHeadsModel', 'gpt2')
...
...
hubconfs/gpt_hubconf.py
View file @
4447f270
...
...
@@ -126,7 +126,7 @@ def openAIGPTLMHeadModel(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'openAIGPTTokenizer', 'openai-gpt')
# Prepare tokenized input
...
...
@@ -161,15 +161,18 @@ def openAIGPTDoubleHeadsModel(*args, **kwargs):
Example:
# Load the tokenizer
>>> import torch
>>> import torch
>>> tokenizer = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'openAIGPTTokenizer', 'openai-gpt')
# Prepare tokenized input
>>> text = "Who was Jim Henson ? Jim Henson was a puppeteer"
>>> tokenized_text = tokenizer.tokenize(text)
>>> indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text)
>>> tokens_tensor = torch.tensor([indexed_tokens])
>>> mc_token_ids = torch.LongTensor([ [len(tokenized_text)] ])
>>> text1 = "Who was Jim Henson ? Jim Henson was a puppeteer"
>>> text2 = "Who was Jim Henson ? Jim Henson was a mysterious young man"
>>> tokenized_text1 = tokenizer.tokenize(text1)
>>> tokenized_text2 = tokenizer.tokenize(text2)
>>> indexed_tokens1 = tokenizer.convert_tokens_to_ids(tokenized_text1)
>>> indexed_tokens2 = tokenizer.convert_tokens_to_ids(tokenized_text2)
>>> tokens_tensor = torch.tensor([[indexed_tokens1, indexed_tokens2]])
>>> mc_token_ids = torch.LongTensor([[len(tokenized_text1)-1, len(tokenized_text2)-1]])
# Load openAIGPTDoubleHeadsModel
>>> model = torch.hub.load('huggingface/pytorch-pretrained-BERT', 'openAIGPTDoubleHeadsModel', 'openai-gpt')
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment