本文是作者学习PaddleNLP的笔记。(顺便学一点PaddlePaddle吧)
欢迎使用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.6.29
最早更新时间:2023.4.11
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.2 教程
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 Taskflow
schema = ['时间', '选手', '赛事名称'] # 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': '谷爱凌'}]}]