SimpleFSRE icon indicating copy to clipboard operation
SimpleFSRE copied to clipboard

proto.py err

Open qiunlp opened this issue 2 years ago • 1 comments

File "\SimpleFSRE\models\proto.py", line 45, in forward rel_gol, rel_loc = self.sentence_encoder(rel_txt, cat=False) ValueError: too many values to unpack (expected 2)

transforms版本我也调为4.6.0了,请问需要修改什么?

qiunlp avatar May 30 '22 09:05 qiunlp

你好,我删除了proto.py中一些可能引起错误的冗余代码,并更新了proto.py, 可以再试一下。如果还有错误,可以按照如下方式进行检查:

  1. run_train.sh中是否有--cat_entity_rep

  2. 检查fewshot_re_kit/sentence_encoder.py中的line 180开始的代码,看一下是否是第二个return返回的函数值。 `if cat:

    sequence_outputs = outputs['last_hidden_state'] # [20, 128, 768] tensor_range = torch.arange(inputs['word'].size()[0]) # inputs['word'].shape [20, 128] h_state = outputs['last_hidden_state'][tensor_range, inputs["pos1"]] # h_state.shape [20, 768] t_state = outputs['last_hidden_state'][tensor_range, inputs["pos2"]] # [20, 768]

    batch_size, max_len, feat_dim = sequence_outputs.shape return h_state, t_state, outputs['last_hidden_state'] else:
    return outputs['pooler_output'], outputs['last_hidden_state']`

lyyang01 avatar May 30 '22 11:05 lyyang01