MCPcopy Create free account
hub / github.com/ankane/tokenizers-ruby / test_serialization

Method test_serialization

test/tokenizer_test.rb:218–243  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

216 end
217
218 def test_serialization
219 skip "vocab method performs many allocations" if stress?
220
221 tokenizer = Tokenizers.from_pretrained("bert-base-cased")
222 assert_nil tokenizer.vocab["mellifluous"]
223
224 tokenizer.add_tokens(["mellifluous", "malodorous"])
225 preserialization_size_with_added_tokens = tokenizer.vocab_size
226 assert_equal 28996, tokenizer.vocab["mellifluous"]
227
228 as_pretty_str = tokenizer.to_s(pretty: true)
229 assert_equal 29163, as_pretty_str.count("\n")
230
231 Dir.mktmpdir do |dir|
232 pretty_path = "#{dir}/pretty-tokenizer.json"
233 tokenizer.save(pretty_path, pretty: true)
234
235 # Compare file content
236 pretty_from_file = File.read(pretty_path)
237 assert_equal as_pretty_str, pretty_from_file
238
239 new_tokenizer = Tokenizers.from_file(pretty_path)
240 assert_equal preserialization_size_with_added_tokens, new_tokenizer.vocab_size
241 assert_equal 28996, new_tokenizer.vocab["mellifluous"]
242 end
243 end
244
245 def test_num_special_tokens_to_add
246 tokenizer = Tokenizers.from_pretrained("bert-base-cased")

Callers

nothing calls this directly

Calls 7

vocabMethod · 0.80
add_tokensMethod · 0.80
vocab_sizeMethod · 0.80
to_sMethod · 0.80
from_pretrainedMethod · 0.45
saveMethod · 0.45
from_fileMethod · 0.45

Tested by

no test coverage detected