Skip to content

Commit eeafb21

Browse files
authored
Fix fast tokenizer import error (#8367)
1 parent 6b3875c commit eeafb21

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

paddlenlp/transformers/auto/tokenizer.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,23 @@ def _get_tokenizer_class_from_config(cls, pretrained_model_name_or_path, config_
193193
if init_class in cls._name_mapping:
194194
class_name = cls._name_mapping[init_class]
195195
import_class = import_module(f"paddlenlp.transformers.{class_name}.tokenizer")
196-
tokenizer_class = getattr(import_class, init_class)
197-
if use_fast:
198-
fast_tokenizer_class = cls._get_fast_tokenizer_class(init_class, class_name)
199-
tokenizer_class = fast_tokenizer_class if fast_tokenizer_class else tokenizer_class
196+
tokenizer_class = None
197+
try:
198+
if use_fast:
199+
tokenizer_class = cls._get_fast_tokenizer_class(init_class, class_name)
200+
except:
201+
# use the non fast tokenizer as default
202+
logger.warning(
203+
"`use_fast` is set to `True` but the tokenizer class does not have a fast version. "
204+
" Falling back to the slow version."
205+
)
206+
try:
207+
if tokenizer_class is None:
208+
tokenizer_class = getattr(import_class, init_class)
209+
except:
210+
raise ValueError(
211+
f"Tokenizer class {init_class} is not currently imported, if you use fast tokenizer, please set use_fast to True."
212+
)
200213
return tokenizer_class
201214
else:
202215
import_class = import_module("paddlenlp.transformers")

0 commit comments

Comments
 (0)