Path: blob/main/models_evaluation/speed_test_evaluation.py
1232 views
import os.path1from statistics import mean23from memory_profiler import profile45from deepparse import download_from_public_repository6from deepparse.dataset_container import PickleDatasetContainer7from deepparse.parser import AddressParser8from models_evaluation.timer.timer import Timer910download_from_public_repository("speed_test_dataset", "./data", "p")1112address_container = PickleDatasetContainer("./data/speed_test_dataset.p")13addresses, tags = zip(*address_container)1415speed_test_directory = "results/speed_test_results"16os.makedirs(speed_test_directory, exist_ok=True)171819@profile20def process_fn(batch_size_arg):21address_parser(addresses, batch_size=batch_size_arg)222324if __name__ == '__main__':25for model in ["fasttext", "bpemb", "fasttext-light"]:26for attention_mechanism in [True, False]:27for device in [0, "cpu"]:28times = []29for batch_size in [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]:30address_parser = AddressParser(31model_type=model,32device=device,33attention_mechanism=attention_mechanism,34)35timer = Timer()36with timer:37process_fn()38with open(39os.path.join(40speed_test_directory,41f"speed_test_results_on_{device}_with_{model}_attention-{attention_mechanism}.txt",42),43"w",44) as file:45if batch_size == 1:46print(47"Temps moyen pour batch size avec ",48device,49"et batch size de ",50batch_size,51" : ",52timer.elapsed_time / len(addresses),53file=file,54)55if batch_size > 1:56times.append(timer.elapsed_time / len(addresses))57print(58"temps moyen pour batch size avec batch size > 1:",59mean(times),60file=file,61)626364