in embed.py [0:0]
def async_eval(adj, q, logQ, opt):
best = None
while True:
temp = q.get()
if temp is None:
return
if not q.empty():
continue
epoch, elapsed, loss, pth = temp
if opt.eval == 'reconstruction':
lmsg = reconstruction_eval(adj, opt, epoch, elapsed, loss, pth, best)
elif opt.eval == 'hypernymy':
lmsg = hypernymy_eval(epoch, elapsed, loss, pth, best)
else:
raise ValueError(f'Unrecognized evaluation: {opt.eval}')
best = lmsg if lmsg['best'] else best
logQ.put((lmsg, pth))