Transformers
tobiges commited on
Commit
cd877d9
·
verified ·
1 Parent(s): b2422ee

Upload processor

Browse files
Files changed (2) hide show
  1. processing_action_tokenizer.py +9 -16
  2. tokenizer.json +0 -0
processing_action_tokenizer.py CHANGED
@@ -9,17 +9,6 @@ from tokenizers.trainers import BpeTrainer
9
  from transformers import PreTrainedTokenizerFast
10
  from transformers.processing_utils import ProcessorMixin
11
 
12
- ALPHABET = pre_tokenizers.ByteLevel.alphabet()
13
- REVERSE_ALPHABET = {c: i for i, c in enumerate(ALPHABET)}
14
-
15
-
16
- def _chr(i: int) -> str:
17
- return ALPHABET[i]
18
-
19
-
20
- def _ord(c: str) -> int:
21
- return REVERSE_ALPHABET[c]
22
-
23
 
24
  class UniversalActionProcessor(ProcessorMixin):
25
  attributes: ClassVar[list[str]] = ["bpe_tokenizer"]
@@ -67,7 +56,7 @@ class UniversalActionProcessor(ProcessorMixin):
67
  tokens = []
68
  for elem in dct_coeff:
69
  token_str = "".join(
70
- map(_chr, np.maximum(elem.flatten() - self.min_token, 0).astype(int))
71
  )
72
  tokens.append(self.bpe_tokenizer(token_str)["input_ids"])
73
  return tokens
@@ -97,7 +86,7 @@ class UniversalActionProcessor(ProcessorMixin):
97
  try:
98
  decoded_tokens = self.bpe_tokenizer.decode(token)
99
  decoded_dct_coeff = (
100
- np.array(list(map(_ord, decoded_tokens))) + self.min_token
101
  )
102
  decoded_dct_coeff = decoded_dct_coeff.reshape(-1, self.action_dim)
103
  assert decoded_dct_coeff.shape == (
@@ -159,21 +148,25 @@ class UniversalActionProcessor(ProcessorMixin):
159
  tokens = dct_tokens.pop()
160
  rounded_tokens = np.around(tokens * scale) - min_token
161
  rounded_tokens = rounded_tokens.astype(int)
162
- string = "".join(map(_chr, rounded_tokens))
163
  yield string
164
 
165
  # Train BPE tokenizer
166
  tokenizer = Tokenizer(BPE())
167
- tokenizer.pre_tokenizer = pre_tokenizers.ByteLevel(add_prefix_space=False, use_regex=False)
 
 
168
  tokenizer.decoder = decoders.ByteLevel()
169
  tokenizer.post_processor = processors.ByteLevel(trim_offsets=False)
170
 
 
171
  trainer = BpeTrainer(
172
  vocab_size=vocab_size,
173
  min_frequency=2,
174
  show_progress=True,
175
  special_tokens=[],
176
- initial_alphabet=ALPHABET,
 
177
  # max_token_length=256,
178
  max_token_length=10_000,
179
  )
 
9
  from transformers import PreTrainedTokenizerFast
10
  from transformers.processing_utils import ProcessorMixin
11
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
  class UniversalActionProcessor(ProcessorMixin):
14
  attributes: ClassVar[list[str]] = ["bpe_tokenizer"]
 
56
  tokens = []
57
  for elem in dct_coeff:
58
  token_str = "".join(
59
+ map(chr, np.maximum(elem.flatten() - self.min_token, 0).astype(int))
60
  )
61
  tokens.append(self.bpe_tokenizer(token_str)["input_ids"])
62
  return tokens
 
86
  try:
87
  decoded_tokens = self.bpe_tokenizer.decode(token)
88
  decoded_dct_coeff = (
89
+ np.array(list(map(ord, decoded_tokens))) + self.min_token
90
  )
91
  decoded_dct_coeff = decoded_dct_coeff.reshape(-1, self.action_dim)
92
  assert decoded_dct_coeff.shape == (
 
148
  tokens = dct_tokens.pop()
149
  rounded_tokens = np.around(tokens * scale) - min_token
150
  rounded_tokens = rounded_tokens.astype(int)
151
+ string = "".join(map(chr, rounded_tokens))
152
  yield string
153
 
154
  # Train BPE tokenizer
155
  tokenizer = Tokenizer(BPE())
156
+ tokenizer.pre_tokenizer = pre_tokenizers.ByteLevel(
157
+ add_prefix_space=False, use_regex=False
158
+ )
159
  tokenizer.decoder = decoders.ByteLevel()
160
  tokenizer.post_processor = processors.ByteLevel(trim_offsets=False)
161
 
162
+ alphabet = [chr(i) for i in range(256)]
163
  trainer = BpeTrainer(
164
  vocab_size=vocab_size,
165
  min_frequency=2,
166
  show_progress=True,
167
  special_tokens=[],
168
+ # initial_alphabet=pre_tokenizers.ByteLevel.alphabet(),
169
+ initial_alphabet=alphabet,
170
  # max_token_length=256,
171
  max_token_length=10_000,
172
  )
tokenizer.json CHANGED
The diff for this file is too large to render. See raw diff