Spaces:
Sleeping
Sleeping
import datetime | |
import os | |
import subprocess | |
import sys | |
from timeit import default_timer as timer | |
sys.path.insert(0, os.getcwd()) | |
start = timer() | |
result_filename_prefix = os.getenv("RESULT_FILENAME_PREFIX") | |
if not result_filename_prefix: | |
now = datetime.datetime.now() | |
result_filename_prefix = "Tune_{:%Y-%m-%d_%H-%M-%S}".format(now) | |
print(f"Result filename prefix: {result_filename_prefix}") | |
all_results_filename = f"./data/results/{result_filename_prefix}.csv" | |
repetition_penalty_delta = 0.02 | |
repetition_penalty_end = 1.3 | |
repetition_penalty = 1.0 | |
repetition_penalty_start = os.getenv("REPETITION_PENALTY_START") | |
if repetition_penalty_start: | |
repetition_penalty = float(repetition_penalty_start) | |
print(f"Starting from RP: {repetition_penalty}") | |
while repetition_penalty <= repetition_penalty_end + 1e-5: | |
new_env = os.environ.copy() | |
repetition_penalty_str = f"{repetition_penalty:.3f}" | |
new_env["HFTGI_RP"] = repetition_penalty_str | |
new_env["HF_RP"] = repetition_penalty_str | |
new_env["ML_RP"] = repetition_penalty_str | |
new_env["SL_RP"] = repetition_penalty_str | |
log_file = "./data/logs/{}_RP_{}.txt".format( | |
result_filename_prefix, repetition_penalty_str | |
) | |
test_results_filename = "./data/results/{}_RP_{}.csv".format( | |
result_filename_prefix, repetition_penalty_str | |
) | |
new_env["TEST_RESULTS_CSV_FILE"] = test_results_filename | |
new_env["ALL_RESULTS_CSV_FILE"] = all_results_filename | |
num_questions = os.getenv("NUM_QUESTIONS") or "" | |
with open(log_file, "w") as f_obj: | |
subprocess.run( | |
f"python qa_chain_test.py {num_questions}", | |
shell=True, | |
env=new_env, | |
stdout=f_obj, | |
text=True, | |
) | |
repetition_penalty += repetition_penalty_delta | |
print(f"All results saved to {all_results_filename}") | |
end = timer() | |
total_time = end - start | |
print(f"Total time used: {total_time:.3f} s") | |