Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
8ae1044f
Commit
8ae1044f
authored
Dec 10, 2019
by
thomwolf
Browse files
updating tests and TF 2.0 model
parent
0558c9cb
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
121 additions
and
57 deletions
+121
-57
transformers/modeling_t5.py
transformers/modeling_t5.py
+23
-8
transformers/modeling_tf_t5.py
transformers/modeling_tf_t5.py
+36
-8
transformers/tests/modeling_common_test.py
transformers/tests/modeling_common_test.py
+14
-4
transformers/tests/modeling_t5_test.py
transformers/tests/modeling_t5_test.py
+4
-5
transformers/tests/modeling_tf_common_test.py
transformers/tests/modeling_tf_common_test.py
+39
-26
transformers/tests/modeling_tf_t5_test.py
transformers/tests/modeling_tf_t5_test.py
+5
-5
transformers/tests/tokenization_t5_test.py
transformers/tests/tokenization_t5_test.py
+0
-1
No files found.
transformers/modeling_t5.py
View file @
8ae1044f
...
@@ -726,8 +726,11 @@ class T5Model(T5PreTrainedModel):
...
@@ -726,8 +726,11 @@ class T5Model(T5PreTrainedModel):
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
encoder_attention_mask
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
encoder_attention_mask
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
if
encoder_hidden_states
is
None
:
if
encoder_hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
# Convert encoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_encoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
if
encoder_attention_mask
is
not
None
:
if
encoder_attention_mask
is
not
None
:
# Apply masking
# Apply masking
...
@@ -740,8 +743,12 @@ class T5Model(T5PreTrainedModel):
...
@@ -740,8 +743,12 @@ class T5Model(T5PreTrainedModel):
encoder_outputs
=
()
encoder_outputs
=
()
# Decode
# Decode
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
# Convert decoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_decoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_attention_mask"
]
=
encoder_attention_mask
kwargs_decoder
[
"encoder_attention_mask"
]
=
encoder_attention_mask
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
...
@@ -825,16 +832,24 @@ class T5WithLMHeadModel(T5PreTrainedModel):
...
@@ -825,16 +832,24 @@ class T5WithLMHeadModel(T5PreTrainedModel):
# Encode if needed (training, first prediction pass)
# Encode if needed (training, first prediction pass)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
if
encoder_hidden_states
is
None
:
if
encoder_hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
# Convert encoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_encoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_hidden_states
=
encoder_outputs
[
0
]
encoder_hidden_states
=
encoder_outputs
[
0
]
else
:
else
:
encoder_outputs
=
()
encoder_outputs
=
()
# Decode
# Decode
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
# Convert decoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_decoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
...
...
transformers/modeling_tf_t5.py
View file @
8ae1044f
...
@@ -613,6 +613,12 @@ class TFT5Model(TFT5PreTrainedModel):
...
@@ -613,6 +613,12 @@ class TFT5Model(TFT5PreTrainedModel):
decoder_config
.
is_decoder
=
True
decoder_config
.
is_decoder
=
True
self
.
decoder
=
TFT5MainLayer
(
decoder_config
,
name
=
'decoder'
)
self
.
decoder
=
TFT5MainLayer
(
decoder_config
,
name
=
'decoder'
)
def
get_input_embeddings
(
self
):
return
self
.
shared
def
get_output_embeddings
(
self
):
return
self
.
shared
def
call
(
self
,
decoder_input_ids
,
**
kwargs
):
def
call
(
self
,
decoder_input_ids
,
**
kwargs
):
# We allow two types of multi-inputs:
# We allow two types of multi-inputs:
# - traditional keyword arguments in the call method
# - traditional keyword arguments in the call method
...
@@ -634,16 +640,24 @@ class TFT5Model(TFT5PreTrainedModel):
...
@@ -634,16 +640,24 @@ class TFT5Model(TFT5PreTrainedModel):
# Encode if needed (training, first prediction pass)
# Encode if needed (training, first prediction pass)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
if
encoder_hidden_states
is
None
:
if
encoder_hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
# Convert encoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_encoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_hidden_states
=
encoder_outputs
[
0
]
encoder_hidden_states
=
encoder_outputs
[
0
]
else
:
else
:
encoder_outputs
=
()
encoder_outputs
=
()
# Decode
# Decode
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
# Convert decoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_decoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
...
@@ -692,6 +706,12 @@ class TFT5WithLMHeadModel(TFT5PreTrainedModel):
...
@@ -692,6 +706,12 @@ class TFT5WithLMHeadModel(TFT5PreTrainedModel):
decoder_config
.
is_decoder
=
True
decoder_config
.
is_decoder
=
True
self
.
decoder
=
TFT5MainLayer
(
decoder_config
,
name
=
'decoder'
)
self
.
decoder
=
TFT5MainLayer
(
decoder_config
,
name
=
'decoder'
)
def
get_input_embeddings
(
self
):
return
self
.
shared
def
get_output_embeddings
(
self
):
return
self
.
shared
def
call
(
self
,
decoder_input_ids
,
**
kwargs
):
def
call
(
self
,
decoder_input_ids
,
**
kwargs
):
# We allow two types of multi-inputs:
# We allow two types of multi-inputs:
# - traditional keyword arguments in the call method
# - traditional keyword arguments in the call method
...
@@ -713,16 +733,24 @@ class TFT5WithLMHeadModel(TFT5PreTrainedModel):
...
@@ -713,16 +733,24 @@ class TFT5WithLMHeadModel(TFT5PreTrainedModel):
# Encode if needed (training, first prediction pass)
# Encode if needed (training, first prediction pass)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
encoder_hidden_states
=
kwargs_encoder
.
pop
(
"hidden_states"
,
None
)
if
encoder_hidden_states
is
None
:
if
encoder_hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
# Convert encoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_encoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
encoder_inputs_ids
=
kwargs_encoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
encoder_inputs_ids
)
# Convert inputs in embeddings
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_outputs
=
self
.
encoder
(
hidden_states
,
**
kwargs_encoder
)
encoder_hidden_states
=
encoder_outputs
[
0
]
encoder_hidden_states
=
encoder_outputs
[
0
]
else
:
else
:
encoder_outputs
=
()
encoder_outputs
=
()
# Decode
# Decode
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
# Convert decoder inputs in embeddings if needed
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
# Convert inputs in embeddings
hidden_states
=
kwargs_decoder
.
pop
(
"inputs_embeds"
,
None
)
if
hidden_states
is
None
:
decoder_inputs_ids
=
kwargs_decoder
.
pop
(
"input_ids"
)
hidden_states
=
self
.
shared
(
decoder_inputs_ids
)
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_hidden_states"
]
=
encoder_hidden_states
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
kwargs_decoder
[
"encoder_attention_mask"
]
=
kwargs_encoder
.
get
(
"attention_mask"
,
None
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
decoder_outputs
=
self
.
decoder
(
hidden_states
,
**
kwargs_decoder
)
...
...
transformers/tests/modeling_common_test.py
View file @
8ae1044f
...
@@ -568,8 +568,14 @@ class CommonTestCases:
...
@@ -568,8 +568,14 @@ class CommonTestCases:
def
test_inputs_embeds
(
self
):
def
test_inputs_embeds
(
self
):
config
,
inputs_dict
=
self
.
model_tester
.
prepare_config_and_inputs_for_common
()
config
,
inputs_dict
=
self
.
model_tester
.
prepare_config_and_inputs_for_common
()
input_ids
=
inputs_dict
[
"input_ids"
]
if
not
self
.
is_encoder_decoder
:
del
inputs_dict
[
"input_ids"
]
input_ids
=
inputs_dict
[
"input_ids"
]
del
inputs_dict
[
"input_ids"
]
else
:
encoder_input_ids
=
inputs_dict
[
"encoder_input_ids"
]
decoder_input_ids
=
inputs_dict
[
"decoder_input_ids"
]
del
inputs_dict
[
"encoder_input_ids"
]
del
inputs_dict
[
"decoder_input_ids"
]
for
model_class
in
self
.
all_model_classes
:
for
model_class
in
self
.
all_model_classes
:
model
=
model_class
(
config
)
model
=
model_class
(
config
)
...
@@ -577,9 +583,13 @@ class CommonTestCases:
...
@@ -577,9 +583,13 @@ class CommonTestCases:
model
.
eval
()
model
.
eval
()
wte
=
model
.
get_input_embeddings
()
wte
=
model
.
get_input_embeddings
()
inputs_dict
[
"inputs_embeds"
]
=
wte
(
input_ids
)
if
not
self
.
is_encoder_decoder
:
outputs
=
model
(
**
inputs_dict
)
inputs_dict
[
"inputs_embeds"
]
=
wte
(
input_ids
)
else
:
inputs_dict
[
"encoder_inputs_embeds"
]
=
wte
(
encoder_input_ids
)
inputs_dict
[
"decoder_inputs_embeds"
]
=
wte
(
decoder_input_ids
)
outputs
=
model
(
**
inputs_dict
)
class
GPTModelTester
(
CommonModelTester
):
class
GPTModelTester
(
CommonModelTester
):
...
...
transformers/tests/modeling_t5_test.py
View file @
8ae1044f
...
@@ -18,20 +18,19 @@ from __future__ import print_function
...
@@ -18,20 +18,19 @@ from __future__ import print_function
import
unittest
import
unittest
import
shutil
import
shutil
import
pytest
from
transformers
import
is_torch_available
from
transformers
import
is_torch_available
from
.modeling_common_test
import
(
CommonTestCases
,
ids_tensor
)
from
.modeling_common_test
import
(
CommonTestCases
,
ids_tensor
,
floats_tensor
)
from
.configuration_common_test
import
ConfigTester
from
.configuration_common_test
import
ConfigTester
from
.utils
import
require_torch
,
slow
,
torch_device
if
is_torch_available
():
if
is_torch_available
():
from
transformers
import
(
T5Config
,
T5Model
,
T5WithLMHeadModel
)
from
transformers
import
(
T5Config
,
T5Model
,
T5WithLMHeadModel
)
from
transformers.modeling_t5
import
T5_PRETRAINED_MODEL_ARCHIVE_MAP
from
transformers.modeling_t5
import
T5_PRETRAINED_MODEL_ARCHIVE_MAP
else
:
pytestmark
=
pytest
.
mark
.
skip
(
"Require Torch"
)
@
require_torch
class
T5ModelTest
(
CommonTestCases
.
CommonModelTester
):
class
T5ModelTest
(
CommonTestCases
.
CommonModelTester
):
all_model_classes
=
(
T5Model
,
T5WithLMHeadModel
)
if
is_torch_available
()
else
()
all_model_classes
=
(
T5Model
,
T5WithLMHeadModel
)
if
is_torch_available
()
else
()
...
@@ -174,7 +173,7 @@ class T5ModelTest(CommonTestCases.CommonModelTester):
...
@@ -174,7 +173,7 @@ class T5ModelTest(CommonTestCases.CommonModelTester):
config_and_inputs
=
self
.
model_tester
.
prepare_config_and_inputs
()
config_and_inputs
=
self
.
model_tester
.
prepare_config_and_inputs
()
self
.
model_tester
.
create_and_check_t5_with_lm_head
(
*
config_and_inputs
)
self
.
model_tester
.
create_and_check_t5_with_lm_head
(
*
config_and_inputs
)
@
pytest
.
mark
.
slow
@
slow
def
test_model_from_pretrained
(
self
):
def
test_model_from_pretrained
(
self
):
cache_dir
=
"/tmp/transformers_test/"
cache_dir
=
"/tmp/transformers_test/"
for
model_name
in
list
(
T5_PRETRAINED_MODEL_ARCHIVE_MAP
.
keys
())[:
1
]:
for
model_name
in
list
(
T5_PRETRAINED_MODEL_ARCHIVE_MAP
.
keys
())[:
1
]:
...
...
transformers/tests/modeling_tf_common_test.py
View file @
8ae1044f
...
@@ -130,12 +130,12 @@ class TFCommonTestCases:
...
@@ -130,12 +130,12 @@ class TFCommonTestCases:
for
name
,
key
in
inputs_dict
.
items
())
for
name
,
key
in
inputs_dict
.
items
())
with
torch
.
no_grad
():
with
torch
.
no_grad
():
pto
=
pt_model
(
**
pt_inputs_dict
)
pto
=
pt_model
(
**
pt_inputs_dict
)
tfo
=
tf_model
(
inputs_dict
)
tfo
=
tf_model
(
inputs_dict
,
training
=
False
)
tf
o
=
tfo
[
0
].
numpy
()
tf
_hidden_states
=
tfo
[
0
].
numpy
()
pt
o
=
pto
[
0
].
numpy
()
pt
_hidden_states
=
pto
[
0
].
numpy
()
tf
o
[
np
.
isnan
(
tfo
)]
=
0
tf
_hidden_states
[
np
.
isnan
(
tf_hidden_states
)]
=
0
pt
o
[
np
.
isnan
(
pto
)]
=
0
pt
_hidden_states
[
np
.
isnan
(
pt_hidden_states
)]
=
0
max_diff
=
np
.
amax
(
np
.
abs
(
tf
o
-
pto
))
max_diff
=
np
.
amax
(
np
.
abs
(
tf
_hidden_states
-
pt_hidden_states
))
self
.
assertLessEqual
(
max_diff
,
2e-2
)
self
.
assertLessEqual
(
max_diff
,
2e-2
)
# Check we can load pt model in tf and vice-versa with checkpoint => model functions
# Check we can load pt model in tf and vice-versa with checkpoint => model functions
...
@@ -296,33 +296,46 @@ class TFCommonTestCases:
...
@@ -296,33 +296,46 @@ class TFCommonTestCases:
first
,
second
=
model
(
inputs_dict
,
training
=
False
)[
0
],
model
(
inputs_dict
,
training
=
False
)[
0
]
first
,
second
=
model
(
inputs_dict
,
training
=
False
)[
0
],
model
(
inputs_dict
,
training
=
False
)[
0
]
self
.
assertTrue
(
tf
.
math
.
equal
(
first
,
second
).
numpy
().
all
())
self
.
assertTrue
(
tf
.
math
.
equal
(
first
,
second
).
numpy
().
all
())
def
_get_embeds
(
self
,
wte
,
input_ids
):
# ^^ In our TF models, the input_embeddings can take slightly different forms,
# so we try a few of them.
# We used to fall back to just synthetically creating a dummy tensor of ones:
try
:
x
=
wte
(
input_ids
,
mode
=
"embedding"
)
except
:
try
:
x
=
wte
([
input_ids
],
mode
=
"embedding"
)
except
:
try
:
x
=
wte
([
input_ids
,
None
,
None
,
None
],
mode
=
"embedding"
)
except
:
if
hasattr
(
self
.
model_tester
,
"embedding_size"
):
x
=
tf
.
ones
(
input_ids
.
shape
+
[
self
.
model_tester
.
embedding_size
],
dtype
=
tf
.
dtypes
.
float32
)
else
:
x
=
tf
.
ones
(
input_ids
.
shape
+
[
self
.
model_tester
.
hidden_size
],
dtype
=
tf
.
dtypes
.
float32
)
return
x
def
test_inputs_embeds
(
self
):
def
test_inputs_embeds
(
self
):
config
,
inputs_dict
=
self
.
model_tester
.
prepare_config_and_inputs_for_common
()
config
,
inputs_dict
=
self
.
model_tester
.
prepare_config_and_inputs_for_common
()
input_ids
=
inputs_dict
[
"input_ids"
]
if
not
self
.
is_encoder_decoder
:
del
inputs_dict
[
"input_ids"
]
input_ids
=
inputs_dict
[
"input_ids"
]
del
inputs_dict
[
"input_ids"
]
else
:
encoder_input_ids
=
inputs_dict
[
"encoder_input_ids"
]
decoder_input_ids
=
inputs_dict
[
"decoder_input_ids"
]
del
inputs_dict
[
"encoder_input_ids"
]
del
inputs_dict
[
"decoder_input_ids"
]
for
model_class
in
self
.
all_model_classes
:
for
model_class
in
self
.
all_model_classes
:
model
=
model_class
(
config
)
model
=
model_class
(
config
)
wte
=
model
.
get_input_embeddings
()
wte
=
model
.
get_input_embeddings
()
try
:
if
not
self
.
is_encoder_decoder
:
x
=
wte
(
input_ids
,
mode
=
"embedding"
)
inputs_dict
[
"inputs_embeds"
]
=
self
.
_get_embeds
(
wte
,
input_ids
)
except
:
else
:
try
:
inputs_dict
[
"encoder_inputs_embeds"
]
=
self
.
_get_embeds
(
wte
,
encoder_input_ids
)
x
=
wte
([
input_ids
],
mode
=
"embedding"
)
inputs_dict
[
"decoder_inputs_embeds"
]
=
self
.
_get_embeds
(
wte
,
decoder_input_ids
)
except
:
try
:
x
=
wte
([
input_ids
,
None
,
None
,
None
],
mode
=
"embedding"
)
except
:
if
hasattr
(
self
.
model_tester
,
"embedding_size"
):
x
=
tf
.
ones
(
input_ids
.
shape
+
[
self
.
model_tester
.
embedding_size
],
dtype
=
tf
.
dtypes
.
float32
)
else
:
x
=
tf
.
ones
(
input_ids
.
shape
+
[
self
.
model_tester
.
hidden_size
],
dtype
=
tf
.
dtypes
.
float32
)
# ^^ In our TF models, the input_embeddings can take slightly different forms,
# so we try a few of them.
# We used to fall back to just synthetically creating a dummy tensor of ones:
#
inputs_dict
[
"inputs_embeds"
]
=
x
outputs
=
model
(
inputs_dict
)
outputs
=
model
(
inputs_dict
)
...
...
transformers/tests/modeling_tf_t5_test.py
View file @
8ae1044f
...
@@ -18,21 +18,21 @@ from __future__ import print_function
...
@@ -18,21 +18,21 @@ from __future__ import print_function
import
unittest
import
unittest
import
shutil
import
shutil
import
pytest
import
sys
import
sys
from
.modeling_tf_common_test
import
(
TFCommonTestCases
,
ids_tensor
)
from
.modeling_tf_common_test
import
(
TFCommonTestCases
,
ids_tensor
)
from
.configuration_common_test
import
ConfigTester
from
.configuration_common_test
import
ConfigTester
from
.utils
import
require_tf
,
slow
from
transformers
import
T5Config
,
is_tf_available
from
transformers
import
T5Config
,
is_tf_available
if
is_tf_available
():
if
is_tf_available
():
import
tensorflow
as
tf
import
tensorflow
as
tf
from
transformers.modeling_tf_t5
import
(
TFT5Model
,
TFT5WithLMHeadModel
,
TF_T5_PRETRAINED_MODEL_ARCHIVE_MAP
)
from
transformers.modeling_tf_t5
import
(
TFT5Model
,
TFT5WithLMHeadModel
,
else
:
TF_T5_PRETRAINED_MODEL_ARCHIVE_MAP
)
pytestmark
=
pytest
.
mark
.
skip
(
"Require TensorFlow"
)
@
require_tf
class
TFT5ModelTest
(
TFCommonTestCases
.
TFCommonModelTester
):
class
TFT5ModelTest
(
TFCommonTestCases
.
TFCommonModelTester
):
is_encoder_decoder
=
True
is_encoder_decoder
=
True
...
@@ -160,7 +160,7 @@ class TFT5ModelTest(TFCommonTestCases.TFCommonModelTester):
...
@@ -160,7 +160,7 @@ class TFT5ModelTest(TFCommonTestCases.TFCommonModelTester):
config_and_inputs
=
self
.
model_tester
.
prepare_config_and_inputs
()
config_and_inputs
=
self
.
model_tester
.
prepare_config_and_inputs
()
self
.
model_tester
.
create_and_check_t5_with_lm_head
(
*
config_and_inputs
)
self
.
model_tester
.
create_and_check_t5_with_lm_head
(
*
config_and_inputs
)
@
pytest
.
mark
.
slow
@
slow
def
test_model_from_pretrained
(
self
):
def
test_model_from_pretrained
(
self
):
cache_dir
=
"/tmp/transformers_test/"
cache_dir
=
"/tmp/transformers_test/"
for
model_name
in
[
't5-small'
]:
for
model_name
in
[
't5-small'
]:
...
...
transformers/tests/tokenization_t5_test.py
View file @
8ae1044f
...
@@ -16,7 +16,6 @@ from __future__ import absolute_import, division, print_function, unicode_litera
...
@@ -16,7 +16,6 @@ from __future__ import absolute_import, division, print_function, unicode_litera
import
os
import
os
import
unittest
import
unittest
import
pytest
from
transformers.tokenization_t5
import
(
T5Tokenizer
)
from
transformers.tokenization_t5
import
(
T5Tokenizer
)
from
transformers.tokenization_xlnet
import
SPIECE_UNDERLINE
from
transformers.tokenization_xlnet
import
SPIECE_UNDERLINE
...
...
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