多线程队列理解

1)想理解result_queue里装什么内容?

2)进入到多线程的目标函数中,worker_func()。 刚才的result_queue就是这个里的out_queue。

3)跳入out_queue.put(test_evaluation()),这个函数里在做评估计算。def test_evaluation()函数 返回return (mean_rank_h, filtered_mean_rank_h), (mean_rank_t, filtered_mean_rank_t)。  

所以out_queue里放的就是(mrh,fmrh,mrt,fmrt)  ;    所以result_queue里放的就是(mrh,fmrh,mrt,fmrt)。

4.我想让out_queue里的结果变好,我应该去改变预测的结果数据head_pred,tail_pred。---------->那就应该改变in_queue

5.返回到in_queue===等价于===evaluation_queue

6.evaluation_queue能get(),那么evaluation_queue应该有一个put()的过程。此处,它把测试集、预测得到的头实体、预测得到的尾实体都放入其中了。这些东西就是会影响到计算结果的内容,所以需要对他们进行改变。因为testing_data是标准答案,所以需要改变head_pred、tail_pred。

分析:图模型输入:testing_data    图模型输出:[test_head, test_tail]

你可能感兴趣的:(多线程队列理解)