Unverified Commit fc966e9c authored by Lu Fang's avatar Lu Fang Committed by GitHub
Browse files

Only turn on FastIncrementalDetokenizer when tokenizers >= 0.21.1 (#17158)

parent ef19e67d
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from typing import Optional from typing import Optional
import tokenizers
from packaging import version
from tokenizers import Tokenizer from tokenizers import Tokenizer
from tokenizers.decoders import DecodeStream from tokenizers.decoders import DecodeStream
from transformers import PreTrainedTokenizerFast from transformers import PreTrainedTokenizerFast
...@@ -43,8 +45,10 @@ class IncrementalDetokenizer: ...@@ -43,8 +45,10 @@ class IncrementalDetokenizer:
# No tokenizer => skipping detokenization. # No tokenizer => skipping detokenization.
return IncrementalDetokenizer() return IncrementalDetokenizer()
if isinstance(tokenizer, PreTrainedTokenizerFast): if (isinstance(tokenizer, PreTrainedTokenizerFast) and version.parse(
tokenizers.__version__) >= version.parse("0.21.1")):
# Fast tokenizer => use tokenizers library DecodeStream. # Fast tokenizer => use tokenizers library DecodeStream.
# And only tokenizers >= 0.21.1 supports Fast Detokenizer.
return FastIncrementalDetokenizer(tokenizer, request) return FastIncrementalDetokenizer(tokenizer, request)
# Fall back to slow python-based incremental detokenization. # Fall back to slow python-based incremental detokenization.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment