transformers 的使用

news/2025/1/8 20:35:24/

一.配置环境

在 抱抱脸 网址 上发布了很多已经训练好的模型,基本上大量的NLP模型都在,一开始是发布 transformers 的开源库,但后来连接了开发者和使用者。
https://huggingface.co/

在安装 transformers 前,需要先安装Flax,PyTorch,TensorFlow其中之一

pip install transformers 

官方教程网址

二.使用

从 https://huggingface.co 上下载 sentiment-analysis(情感分析)模型
方法1:transformers.pipline

from transformers import pipelinea = pipeline('sentiment-analysis')
a('i like you')

方法2:transformers通用方法,直接加载模型

from transformers import AutoTokenizermodel_name = "nlptown/bert-base-multilingual-uncased-sentiment"
tokenizer = AutoTokenizer.from_pretrained(model_name)encoding = tokenizer("I am very happy to learning Transformers library.")
print(encoding)

三.本地加载

调用方法直接下载模型时,经常会下载很久甚至失败.
而且由于from_pretrained方法自动将下载的模型保存至root/.cache/huggingface/transformers文件夹下。
为了解决这个问题,下面我们将实现“下载huggingface-transformers模型至本地,并使用from_pretrained方法加载”
1.下载huggingface_hub包

pip install huggingface_hub

2.编写python脚本下载模型
repo_id含义为模型在huggingface的路径,allow_patterns为你想要下载的文件(因为repo_id目录下文件很多,你可以通过此参数下载自己想要的文件),local_dir含义为模型保存在本地的路径。

from huggingface_hub import snapshot_downloadsnapshot_download(repo_id="nlptown/bert-base-multilingual-uncased-sentiment", allow_patterns=["*.json", "pytorch_model.bin", "vocab.txt"], local_dir="D:\\xxx\\my_model\\")

Hugging Face官方教程
https://huggingface.co/docs/huggingface_hub/v0.13.3/guides/download

3.加载模型

#下载完模型的加载地址
from transformers import AutoTokenizermodel_name = "D:\\xxx\\my_model\\"
tokenizer = AutoTokenizer.from_pretrained(model_name)
encoding = tokenizer("I am very happy to learning Transformers library.")
print(encoding)

参考
transformers,抱抱脸 Hugging Face教程
全民AI计划:快来尝试你的第一个AI程序
下载huggingface-transformers模型至本地,并使用from_pretrained方法加载

【NLP算法】介绍四种常用的模型调用方法|中文文本生成


http://www.ppmy.cn/news/92720.html

相关文章

线程和进程区别

什么是线程和进程? 进程 一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。 线程进程中的一个执行任务(控制单元)&#…

百度松果菁英班--oj赛(第五次)

文章目录 百度松果菁英班--oj赛(第五次)一、附庸的附庸二、采蜜三、暧昧团四、上楼梯五、上楼梯2六、大厨小码哥七、纸带八、围栏木桩九、最长字段和十、旅费 百度松果菁英班–oj赛(第五次) 一、附庸的附庸 **题目:*…

TexSAW|2023|Cryptography&Misc|WP

Cryptography|Crack the crime 用 nc 连上后,直接得到第一题 是一个简单的base64加密,解密如下: Meet in dubai on Tuesday 填入之后可获得第二题 猜测是古典加密,随后经过N次尝试后发现是rot13加密,解密…

Google 出的C++轻量级日志库_GLog_了解_使用

文章目录 1、Google Logging(glog)是一个C轻量级、稳定、开源的日志系统日志库,是一个实现应用程序级日志记录的C98库,支持以下功能:2、GLog日志级别:3、GLog分类:1、日志分类:2、条件型LOG 4、…

GET和POST区别

GET和POST区别 GET:从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。 POST:向服务器提交数据,这就涉及到了数据的更新,也就是更改服务器的数据。 PUT:英…

Spring-重新认识IoC二

文章目录 依赖查找的方式依赖注入的方式依赖查找和依赖注入的来源Ioc配置源信息BeanFactory 和 ApplicationContext 谁才是 Spring IoC 容器如何使用BeanFactory和ApplcationContext 依赖查找的方式 根据 Bean 名称查找 实时查找延迟查找 根据 Bean 类型查找 单个 Bean 对象集…

8.1.0版本ELK搭建,开启xpack认证机制

8.1.0版本ELK搭建,开启xpack认证机制 部署环境安排下载elk安装包服务器环境配置部署elasticsearch配置认证配置客户端加密的http通信修改elastic配置文件 部署kibana部署logstash部署httpd,filebeat配置kibana页面部署grafana配置grafana连接elastic 部署…

2022年都快结束了,还有人不会安卓录屏?在安卓上录制屏幕的的实现方式

前言 在我之前的文章 《以不同的形式在安卓中创建GIF动图》 中,我挖了一个坑,可以通过录制屏幕后转为 GIF 的方式来创建 GIF。只是当时我只是提了这么一个思路,并没有给出录屏的方式,所以本文的内容就是教大家如何通过调用系统 A…