# Copyright (C) 2024 THL A29 Limited, a Tencent company. All rights reserved. | |
# | |
# Licensed under the TENCENT HUNYUAN COMMUNITY LICENSE AGREEMENT (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# https://github.com/Tencent/Tencent-Hunyuan-Large/blob/main/License.docx | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
# test tokenizer encode & decode consistency | |
from transformers import AutoTokenizer | |
tokenizer = AutoTokenizer.from_pretrained('/tokenizer_exp/other_tokenizer_vocab/hy', local_files_only=True, trust_remote_code=True) | |
test_data = [line.strip() for line in open('/tokenizer_exp/data/test.txt', 'r').readlines()] | |
num_origi_len = 0 | |
num_token_len = 0 | |
for d in test_data: | |
a = tokenizer.encode(d) | |
num_origi_len += len(d) | |
num_token_len += len(a) | |
b = tokenizer.decode(a) | |
assert b == d, f"encode & decode not consistent: {d} vs {b}" | |
print(f" original length: {num_origi_len}") | |
print(f" token length: {num_token_len}") | |