> 文章列表 > PaddleNLP教程(持续更新ing...)

PaddleNLP教程(持续更新ing...)

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
PaddleNLP教程(持续更新ing...)

我一开始寻思我服务器用的不是安培架构的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