Files
yichuan520030910320 46f6cc100b Initial commit
2025-06-30 09:05:05 +00:00

53 lines
1.6 KiB
Python
Executable File

import os
import time
import functools
class time_exec:
def __init__(self, func):
functools.update_wrapper(self, func)
self.func = func
def __call__(self, *args, **kwargs):
start_time = time.time()
result = self.func(*args, **kwargs)
end_time = time.time()
execution_time = end_time - start_time
timing_log = (
f"Function '{self.func.__name__}' executed in {execution_time:.2f} seconds"
)
print(timing_log)
return result, execution_time
class Logger:
def __init__(self, args):
self.log_file = args.log_file
self.ds_domain = args.domain
self.seed = args.seed
self.datastore_size = args.sample_size
self.stride = args.stride
self.max_seq_length = args.max_seq_length
self.merge = args.merge
self.prefix = f"{self.ds_domain}\t{self.seed}\t{self.datastore_size}\t{self.stride}\t{self.max_seq_length}\t{self.merge}"
def log_results(
self,
time_sample=None,
time_chunk=None,
time_index=None,
time_eval=None,
num_eval=None,
perplexity=None,
):
# Create the log entry
log_entry = f"{self.prefix}\t{time_sample}\t{time_chunk}\t{time_index}\t{time_eval}\t{num_eval}\t{perplexity}\n"
# Open the file in append mode. Creates the file if it doesn't exist.
with open(self.log_file, "a") as file:
file.write(log_entry)
def log_string(self, log_string):
with open(self.log_file, "a") as file:
file.write(log_string)