stanleylsx / entity_extractor_by_ner

基于Tensorflow2.3开发的NER模型,都是CRF范式,包含Bilstm(IDCNN)-CRF、Bert-Bilstm(IDCNN)-CRF、Bert-CRF,可微调预训练模型,可对抗学习,用于命名实体识别,配置后可直接运行。
393 stars 74 forks source link

自己重新训练报错 #45

Closed HarryHot closed 1 year ago

HarryHot commented 2 years ago

您好 再更换自己数据集从头训练·时,固定在2%的位置跳这个错 但是不是很理解原因 劳请提点一下 2%|▏ | 20/1022 [00:18<15:17, 1.09it/s] Traceback (most recent call last): File "C:/Users/lzh/Desktop/entity_extractor_by_ner-master/entity_extractor_by_ner-master/main.py", line 72, in train(configs, dataManager, logger) File "C:\Users\lzh\Desktop\entity_extractor_by_ner-master\entity_extractor_by_ner-master\engines\train.py", line 151, in train X_train_batch, y_train_batch, batch_pred_sequence, configs, data_manager) File "C:\Users\lzh\Desktop\entity_extractor_by_ner-master\entity_extractor_by_ner-master\engines\utils\metrics.py", line 34, in metrics y = [str(data_manager.id2label[val]) for val in y_true[i] if val != data_manager.label2id[data_manager.PADDING]] File "C:\Users\lzh\Desktop\entity_extractor_by_ner-master\entity_extractor_by_ner-master\engines\utils\metrics.py", line 34, in y = [str(data_manager.id2label[val]) for val in y_true[i] if val != data_manager.label2id[data_manager.PADDING]] KeyError: -1

HarryHot commented 2 years ago

最开始直接跑您的数据集是没问题的 所以我怀疑是我的数据集的问题 我的数据集是.data格式的 但是标注方式和您是一样的 我是通过submittext先将其转化为txt 然后用代码转为csv 再将多出来的双引号和多出来的行去掉 得到最后的数据集 这样会有问题么 请问您有没有好的方式将.data转化为.csv文件呢

LakersUpAma commented 2 years ago

我们问题差不多。不过我的训练集一直识别的是0,不知道为啥。

stanleylsx commented 2 years ago

最开始直接跑您的数据集是没问题的 所以我怀疑是我的数据集的问题 我的数据集是.data格式的 但是标注方式和您是一样的 我是通过submittext先将其转化为txt 然后用代码转为csv 再将多出来的双引号和多出来的行去掉 得到最后的数据集 这样会有问题么 请问您有没有好的方式将.data转化为.csv文件呢

数据集按照要求放进去后,token2id和label2id都是自己生成的 需要确保不是自己改的 .data和.csv 都可以用文本编辑器打开 确保数据集左边的一列token和右边的一列对用的标注中间的空格或者/t已经配置到配置文件了

gugyougula commented 1 year ago

你好 自己训练的数据集loss有数据 但是别的指标一直为0 是哪里出问题了啊

gugyougula commented 1 year ago

你好 我也遇到这个问题了 请问您解决了吗