35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from datetime import datetime
|
|
import numpy as np
|
|
|
|
def reward(responses):
|
|
reward = 0.0
|
|
for response in responses:
|
|
reward += int(response._recall)
|
|
return reward
|
|
|
|
def update_metrics(responses, metrics, info):
|
|
# print("responses: ", responses)
|
|
prs = []
|
|
for response in responses:
|
|
prs.append(response['pr'])
|
|
if type(metrics) != list:
|
|
metrics = [prs]
|
|
else:
|
|
metrics.append(prs)
|
|
# print(metrics)
|
|
return metrics
|
|
|
|
def eval_result(train_time, last_review, history, W):
|
|
with open(f"{datetime.now()}.txt", "w") as f:
|
|
print(train_time, file=f)
|
|
print(last_review, file=f)
|
|
print(history, file=f)
|
|
print(W, file=f)
|
|
# np.einsum('ij,ij->i', a, b)
|
|
last_review = train_time - last_review
|
|
mem_param = np.exp(np.einsum('ij,ij->i', history, W))
|
|
pr = np.exp(-last_review / mem_param)
|
|
print(pr, file=f)
|
|
print(pr)
|
|
print("score:", np.sum(pr) / pr.shape[0], file=f)
|
|
print("score:", np.sum(pr) / pr.shape[0]) |