|
import tracemalloc |
|
import time |
|
from datetime import datetime |
|
from .mana_tokenizer import ManaTokenizer |
|
|
|
tokenizer = ManaTokenizer() |
|
|
|
|
|
sample_text = "شرکت آسا پرداز آریسا در سال 96 با استقرار در شهرک علمی و فناوری اصفهان فعالیت رسمی خود را در زمینه سامانه های پردازش سریع (hpc) و رایانش ابری (cloud) آغاز کرد. این شرکت اولین ارائه دهنده تخصصی کاملاً مبتنی بر شتاب دهنده های گرافیکی برای محاسبات پردازش سریع در ایران است. این شرکت توانست در سال 1400 آزمایشگاه پردازشی_گرافیکی خیام را در شهرک علمی تحقیقاتی اصفهان ایجاد و تجهیز کند.این آزمایشگاه مجهز به بیش از 8600 هسته پردازشی و بیش از 800 هزار هسته پردازش گرافیکی کودا می باشد که در اختیار محققان,معماران,مهندسان و … ,برای انجام تمامی تحقیقات و پروژهای علمیشان قرار داده میشود.این آزمایشگاه دارای فضای ذخیره سازی 1.5 پتابایت همچنین فضای رم 15 هزار گیگابایتی میباشد. این آزمایشگاه مجهز به جدید ترین سرورها و پردازنده های گرافیکی روز دنیا می باشد که از تمامی نرم افزار های پیشرفته ی طراحی,معماری,مهندسی,شبیه سازی,حل مسائل پیش بینی مالی,بازی و سرگرمی,پزشکی و درمان پشتیبانی می کند." |
|
|
|
|
|
encoded_sample = tokenizer.encode(sample_text) |
|
tokens2 = encoded_sample.tokens |
|
vocab_size2 = len(tokenizer.get_vocab()) |
|
print(f"Mana Vocabulary: {vocab_size2}") |
|
print(f"Mana Algorithm: {tokenizer.__class__.__name__}") |
|
|
|
|
|
current_date = datetime.now().strftime("%Y-%m-%d %H:%M:%S") |
|
print(f"Current Date and Time: {current_date}") |
|
|
|
|
|
def benchmark_tokenizer_batch(tokenizer, texts): |
|
start_time = time.time() |
|
tokenizer.batch_encode(texts) |
|
end_time = time.time() |
|
return end_time - start_time |
|
|
|
|
|
large_texts = ["سال 96 با استقرار در شهرک علمی و فناوری اصفهان فعالیت رسمی خود را در زمینه سامانه های پردازش سریع (hpc) و رایانش ابری (cloud) آغاز."] * 1000 |
|
|
|
|
|
time2 = benchmark_tokenizer_batch(tokenizer, large_texts) |
|
print(f"Mana Batch Encode Time: {time2} seconds") |
|
|
|
|
|
def memory_usage_tokenizer_batch(tokenizer, texts): |
|
tracemalloc.start() |
|
tokenizer.batch_encode(texts) |
|
snapshot = tracemalloc.take_snapshot() |
|
tracemalloc.stop() |
|
|
|
top_stats = snapshot.statistics('lineno') |
|
return top_stats[0].size / 1024 |
|
|
|
|
|
memory2 = memory_usage_tokenizer_batch(tokenizer, large_texts) |
|
print(f"Mana Batch Encode Memory Usage: {memory2} KB") |
|
|
|
|
|
total_chars_large_texts = sum(len(text) for text in large_texts) |
|
print(f"Total characters in large_texts: {total_chars_large_texts}") |