飞桨: https://aistudio.baidu.com/aistudio/projectoverview/public
在这里可以看到前辈们写下的各种项目案例,这里记录下我使用飞桨微调uie模块下的关系抽取和实体识别遇到的问题。
第一点:下载paddlepaddle、paddlenlp
虽然2个可以分开下载,但是要跑uie模块,就要这2个包都存在。
第二点:paddlepaddle-gpu + cuda对应版本下载
可以根据自己的cuda版本选择对应的paddlepaddle-gpu版本,如paddlepaddle-gpu.post112,后缀post112就是对应cuda 11.2。
测试paddlepaddle-gpu.post112是否安装成功:
import paddle
paddle.utils.run_check()
![](https://img-blog.csdnimg.cn/img_convert/639348ab9e6af05e86c4e72837f62762.png)
注意:
如果不指定post版本,直接pip install paddlepaddle-gpu默认下载的是cuda10的版本。如果和本地安装的cuda版本不一致,测试时可能success,但运行uie代码会报 “cuda或cudnn相关包缺失或文件不匹配”这类错误。
第三点:paddlenlp安装包版本和 paddleNLP源码版本
paddleNLP源码:https://toscode.gitee.com/paddlepaddle/PaddleNLP
在飞桨官网的项目里截至2023年1月,前辈们写的案例还都是参考源码git 2.4分支的代码,而不是develop分支的代码。
要运行2.4分支的代码,经测试只有pip install paddlenlp==2.4.2时才可成功运行。其他更高或更低版本的都会报这样那样的错误,比如:
错误1:代码可以不报错运行,但输出的日志里F1、recall、precious永远都是0。
错误2:PretrainedConfig instance not found in the arguments, you can set it as args or kwargs with config
错误3:进程完成,退出码 -1073740791 (0xC0000409)