[Question]: 牛爷爷们,救救孩子... uie-x-base 封闭域信息抽取问题
zhaoqf-cq opened this issue · 11 comments
请提出你的问题
背景: 由于训练有GPU环境, 推理只有CPU, 所以想迁移到 CPU 环境使用, 但是CPU使用 推理时间久, 占用内存贼高, 128GB 都能用完, 而且很慢...慢就算了 推理结果还是空, 所以想蒸馏了拿到CPU尝试使用
paddle版本
paddle-bfloat 0.1.7
paddle2onnx 1.0.6
paddlefsl 1.1.0
paddleocr 2.7.3
paddlepaddle-gpu 2.4.0rc0
cuda版本
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89
通过 https://github.com/linjieccc/PaddleNLP/blob/add-doc-ie/applications/information_extraction/document/README.md 文档信息抽取 训练后GPU下面表现良好
从 Issues 里面找到的 https://github.com/linjieccc/PaddleNLP/tree/add-doc-ie/applications/information_extraction/document/closed_domain 封闭域信息抽取, 根据文档操作
data_convert.py 这个修改了 schema
自认数据集偏少, 310 张 非标模板图片, 切分 0.8 0.1 0.1; 然后使用 通过UIE生成更多标注数据 (适合标注数据较少的情况) 生成了一个文件
data
--label_maps.json
接下来我以为ok了...就开始使用
python train.py \
--train_path data/train_data.json \
--dev_path data/dev_data.json \
--label_maps_path data/label_maps.json \
--num_epochs 50 \
--model_name_or_path ernie-3.0-base-zh
文档给出的训练数据和验证集 哪儿来的啊... 我最开始微调训练用过的吗?
我用训练和验证都指定训练时候用到的 label_studio.json,提示我 TypeError: list indices must be integers or slices, not str
我用 训练时候的 train.txt 和 dev.txt 然后提示我 KeyError: 'entity_list'...
好难啊 QAQ
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的
这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行
self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的
我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错
你在逗我吗... 不指定模型 你做蒸馏干嘛... 预训练模型能满足你的需求???
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错你在逗我吗... 不指定模型 你做蒸馏干嘛... 预训练模型能满足你的需求???
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错你在逗我吗... 不指定模型 你做蒸馏干嘛... 预训练模型能满足你的需求???
那等你好消息...看看能成功么
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错你在逗我吗... 不指定模型 你做蒸馏干嘛... 预训练模型能满足你的需求???
那等你好消息...看看能成功么
哥哥们,有成功的吗?我也遇到一样问题了;taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 之后;报别的错误了:
E:\study\pythonproject\nlp\PaddleNLP-add-doc-ie\paddlenlp\taskflow\information_extraction.py", line 277, in _add_bbox
if box:
UnboundLocalError: local variable 'box' referenced before assignment
我跑通了,train_data.json和dev_data.json是用的
python data_convert.py \ --label_studio_file ../data/label_studio.json \ --splits 0.8 0.2 0
跑出来的这个就很尴尬了... 你咋跑的, 我就只有 label_maps.json 这一个文件...
我是直接运行的那个 .py 的 main方法... 然后提示错误了 我手动修改了 C:\Users\13725\Desktop\paddle\PaddleNLP\paddlenlp\taskflow\taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 不然这里提示我没有 default这个... 不知道是不是这个影响的我也报了这个错KeyError: 'default',好像是在执行train.py产生的
python train.py --train_path data/train_data.json --dev_path data/dev_data.json --label_maps_path data/label_maps.json --num_epochs 500
我没指定模型,它会默认使用ernie-layoutx-base-uncased,就没有报错你在逗我吗... 不指定模型 你做蒸馏干嘛... 预训练模型能满足你的需求???
那等你好消息...看看能成功么
哥哥们,有成功的吗?我也遇到一样问题了;taskflow.py 这个文件的 830行 self.model = TASKS[task]['default'][ind_tag] 修改为 self.model = TASKS[task]["models"]['default'][ind_tag] 之后;报别的错误了: E:\study\pythonproject\nlp\PaddleNLP-add-doc-ie\paddlenlp\taskflow\information_extraction.py", line 277, in _add_bbox if box: UnboundLocalError: local variable 'box' referenced before assignment
看看这个吧... 上次跑了一下 不行我就没玩儿了
再使用UIE-X封闭域信息抽取时遇到的问题 #8293