lawson
lawson
(4)请问data.py 中的DGLREDataloader 类的 __iter__方法下的这段代码的具体含义是什么? ` for h_idx in range(L): for t_idx in range(L): if h_idx != t_idx: hlist, tlist = entities[h_idx], entities[t_idx] ht_pairs[i, j, :] = torch.Tensor([h_idx + 1, t_idx...
(5) 请问test.py 中的test 函数里面的那个 `ours`参数是什么作用?
(6)`h_t_limit_per_batch=300, h_t_limit=1722,` 这两个参数分别代表什么含义,且它们在DGLREDataloader中的值是怎么设定的啊?
(7)在data.py 中,`create_entity_graph()` 中创建的path是按照`(i+1,j+1) = (val+1)`规则创建的。这是有什么特殊的意义吗?可以直接使用`(i,j) = set(val)` 表示节点i和节点j均可到达的公共节点集合为set(val)吗?
(8)在 RelGraphConvLayer 中,代码 `weight = self.basis() if self.use_basis else self.weight # TODO?` 的逻辑是什么?这里的self.use_basis 是什么意思呢?
(9)test.py 中的4重for循环严重影响了模型的性能,这里是直接对所有的head_entity 和 tail_entity 以及 relation 进行一个组合,导致模型的复杂度很高,是否可以直接遍历golden_label,然后同时对predict的数据进行处理即可?这样是否可以加快模型的处理速度?
> 您好! 1.我按照您的参数运行./eval_GAIN_BERT.sh 0 0.7972 时,结果出现如下情况:  这里的input_theta 0.7972是在运行./run_GAIN_BERT.sh 1的最佳epoch中的。请问为什么会出现这个问题呢? 2.是不是因为上面出错的原因,也没法得到rusult.json文件 这个没有报错啊。你这已经输入了input_theta值,在文件夹下查找 test_indx.json 就是需要的test结果。因为test.json没有标签,所以没法得到 f1 值。
> Traceback (most recent call last): File "train.py", line 231, in train(opt) File "train.py", line 125, in train predictions = model(words=d['context_idxs'], File "/home/anaconda3/envs/qusiyu/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl result = self.forward(*input,...
你可以将预测得到的result.json 文件交给codalab评判(清华组在codalab 上开了一个竞赛,专门用来搞这个评测的,地址 : https://competitions.codalab.org/competitions/20717#results 需要注册用户,然后提交结果。)
> _No description provided._ 这个问题很简单,直接参考DocRED 原论文就能明白了。result.json 是针对test.json 进行的一个预测结果。如果里面的表示不能明白说明DocRED数据集的格式你不理解,那么就可以参考https://blog.csdn.net/liu16659/article/details/120254493 里面对DocRED的叙述了