软件环境
- paddlepaddle:2.6.1
- paddlepaddle-gpu:
- paddlenlp: 2.7.0
重复问题
- 我已搜索现有的问题
错误描述
在脚本中:
for i, d in enumerate(data):
label = decode(pred_ids[i], id_vocabs)
result = {
"text": d,
"label": label,
}
if label not in name_dict:
scores_can = all_scores_can[i]
pred_ids_can = all_preds_can[i]
labels_can = search(scores_can, pred_ids_can, 0, [], 0)
labels_can.sort(key=lambda d: -d[1])
for labels in labels_can:
cls_label_can = decode(labels[0], id_vocabs)
if cls_label_can in name_dict:
result["label"] = cls_label_can
break
else:
labels_can = bk_tree.search_similar_word(label)
result["label"] = labels_can[0][0]
result["category"] = name_dict[result["label"]]
results.append(result)
return results
如果 labels_can
为空,访问 labels_can[0][0]
可能引发 IndexError
。
也许这是修改的方法:
labels_can = bk_tree.search_similar_word(label)
if len(labels_can) != 0:
result["label"] = labels_can[0][0]
result["category"] = name_dict[result["label"]]
如果第1点的问题得到解决,脚本的这一部分仍然可能发生 KeyError
。
稳定复现步骤 & 代码
使用小样本进行训练并调整Map JSON 可能会导致问题。
3条答案
按热度按时间lbsnaicq1#
感谢您报告了这个bug问题。您可以根据您的修改偏好创建一个pull request来解决这个bug。
dvtswwa32#
我们对目录结构进行了一些修改,新的路径是 https://github.com/PaddlePaddle/PaddleNLP/tree/develop/legacy/examples/text_to_knowledge
zphenhs43#
感谢您报告了这个bug问题。您可以根据您的修改喜好创建一个pull request来解决这个bug。
感谢您的信任。我将在接下来的几天内提交我的解决方案代码。