heroazhe

Results 5 comments of heroazhe

timer_flag应该是timer到期的标志,improv是线程处理了相应的sockfd后,将其置为1,然后在dealwiththread中判断线程处理过的fd,并再将其置为0,以便后续的连接继续使用该fd。

哦哦,代码我知道啥意思,但不知道原理,从网上没有搜到具体的原理,只知道这好像跟qa中的span有关系,了解start_logits和end_logits的计算方法我该怎么查? ------------------ 原始邮件 ------------------ 发件人: "lonePatient"

额,还是有点似懂非懂。  还有一个疑问是training的时候,有一句是如果为softlabel,则start_logits.scatter_(2, start_point.unsqueeze(2), 1) 这句话的意思应该是把对应的label位置标成1吧,这样的话其他的label还是为0,不还是hard label吗? ------------------ 原始邮件 ------------------ 发件人: "lonePatient"

还有那个output[0]的size是batch_size*seq_len*num_labels吧?  我现在看了一个类似你这个的pytorch的代码,他里面是这么写的 def forward(self, input_ids, token_type_ids=None, attention_mask=None, start_positions=None,end_positions=None): outputs = self.bert(input_ids, token_type_ids, attention_mask) sequence_output = outputs[0] # batch * seq * hidden sequence_output = self.dropout(sequence_output) start_logits = self.start_fc(sequence_output) # 开始的信息...

我又看了下代码,这里所谓的softlabel是在计算end_logits的时候加入了label的上下文信息,在计算loss的时候,target并没有softmax,还是one-hot的。   这种做法相当于加了一个crf吧,让模型学习到label的相关信息。  soft label应该针对的是计算ce时的target而不是logits吧? ------------------ 原始邮件 ------------------ 发件人: "lonePatient"