PaddleNLP教程(持续更新ing...)
诸神缄默不语-个人CSDN博文目录
本文是作者学习PaddleNLP的笔记。
欢迎使用PaddleNLP — PaddleNLP 文档
PaddlePaddle/PaddleNLP: 👑 Easy-to-use and powerful NLP library with 🤗 Awesome model zoo, supporting wide-range of NLP tasks from research to industrial applications, including 🗂Text Classification, 🔍 Neural Search, ❓ Question Answering, ℹ️ Information Extraction, 📄 Document Intelligence, 💌 Sentiment Analysis and 🖼 Diffusion AIGC system etc.
我完全不会PaddlePaddle,所以应该算是从0开始了……可能如果以后写太多了的话,会把一部分拆出来独立成文。
最近更新时间:2023.4.11
最早更新时间:2023.4.11
文章目录
- 1. PaddlePaddle
-
- 1.1 安装
- 2. PaddleNLP
-
- 2.1 安装
- 2.2 UIE文本信息抽取
-
- 2.2.1 zero-shot(直接测试)
- 2.2.2 UIE蒸馏
1. PaddlePaddle
1.1 安装
Python需要是3.6-3.10
https://www.paddlepaddle.org.cn/install/quick?docurl=/documentation/docs/zh/install/pip/linux-pip.html
这个网站用梯子的话就不能正常显示了,很怪。
我服务器支持avx
我一开始寻思我服务器用的不是安培架构的GPU,所以用了cuda 10.2
用的命令是:
conda create -n envpaddlepaddle python=3.8 pip
conda activate envpaddlepaddle
pip install paddlepaddle-gpu==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
conda install cudatoolkit=10.2
conda install -c anaconda cudnn
然后每次运行paddle包之前需要先运行这个代码:
export LD_LIBRARY_PATH=user_path/anaconda3/envs/envpaddlepaddle/lib:$LD_LIBRARY_PATH
(如果你不是用的Python环境,总之可以通过which python
命令得到当前使用的Python解释器的位置xxx/bin/python
,然后将这个命令中的路径改成xxx/lib
即可)
(如果不运行的话会报这个bug:ImportError: libcudart.so.10.2: cannot open shared object file: No such file or directory
)
(解决方案参考自:PaddleOCR遇到RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. 错误的解决_WinterShiver的博客-CSDN博客)
2. PaddleNLP
2.1 安装
pip install --upgrade paddlenlp
2.2 UIE文本信息抽取
https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/information_extraction/text
https://github.com/PaddlePaddle/PaddleNLP/tree/develop/model_zoo/uie
2.2.1 zero-shot(直接测试)
from pprint import pprint
from paddlenlp import Taskflowschema = ['时间', '选手', '赛事名称'] # Define the schema for entity extraction
ie = Taskflow('information_extraction', schema=schema)
pprint(ie("2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!")) # Better print results using pprint
输出:
[{'时间': [{'end': 6,'probability': 0.9857378532924486,'start': 0,'text': '2月8日上午'}],'赛事名称': [{'end': 23,'probability': 0.8503090565403681,'start': 6,'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],'选手': [{'end': 31,'probability': 0.8981544501102263,'start': 28,'text': '谷爱凌'}]}]
2.2.2 UIE蒸馏
https://github.com/PaddlePaddle/PaddleNLP/blob/develop/applications/information_extraction/text/data_distill/README.md