huggingface 笔记:pipeline

1 介绍 

  • pipeline() 是使用预训练模型进行推理的最简单和最快速的方式。
  • 可以针对不同模态的许多任务直接使用 pipeline()

2 举例:情感分析

2.1 创建pipeline实例

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
#首先创建一个 pipeline() 实例,并指定您想要使用它的任务
#pipeline() 将下载并缓存情感分析的默认预训练模型和分词器

2.2 使用pipeline实例 

然后就可以在目标文本上使用分类器了:

# 单个文本
classifier('Today is a shiny day!')
'''
[{'label': 'POSITIVE', 'score': 0.9992596507072449}]
'''
# 多个文本
classifier(['Today is a shiny day!','What a bad day it is!'])
'''
[{'label': 'POSITIVE', 'score': 0.9992596507072449},
 {'label': 'NEGATIVE', 'score': 0.999808132648468}]
'''

3 使用别的模型和分词器

  • pipeline() 可以容纳来自 Models - Hugging Face的任何模型
  • eg:能够处理法语文本的模型

以下两种方式都可以

from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import pipeline

model_name = "nlptown/bert-base-multilingual-uncased-sentiment"



classifier = pipeline("sentiment-analysis", model=model_name)

classifier("Nous sommes très heureux de vous présenter la bibliothèque Transformers.")

#[{'label': '5 stars', 'score': 0.7236300706863403}]
from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = "nlptown/bert-base-multilingual-uncased-sentiment"

model = AutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)



classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)

classifier("Nous sommes très heureux de vous présenter la bibliothèque Transformers.")
#[{'label': '5 stars', 'score': 0.7236300706863403}]

4 device相关

  • 使用 device=n——>pipeline会自动将模型放置在指定的设备上
classifier = pipeline("sentiment-analysis", model=model_name,device=2)
  • 如果模型对于单个 GPU 来说太大,并且使用 PyTorch——>可以设置 device_map="auto",以自动确定如何加载和存储模型权重
classifier = pipeline("sentiment-analysis", model=model_name,device_map="auto")
  • 如果传递了 device_map="auto",在实例化pipeline时不需要添加参数 device=device

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/625438.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Java EE] 文件IO (二):文件内容读写-----数据流

🌸个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 🏵️热门专栏:🍕 Collection与数据结构 (91平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 🧀Java …

使用 RyTuneX 增强您的 Windows 10 和 11 体验 – Rayen Ghanmi 的首选优化器。

📝 关于 RyTuneX 是使用 WinUI 3 框架构建的尖端优化器,旨在增强 Windows 设备🚀的性能。 RyTuneX 专为 Windows 10 和 11 打造,使用户能够毫不费力地删除顽固的预装应用程序并优化系统资源🛠️。 🚀 功能…

在线caj转换成pdf免费吗?caj变成pdf很容易!点进来!

在数字化阅读日益盛行的今天,各种电子文献格式层出不穷,其中CAJ和PDF无疑是两种最为常见的格式。CAJ是中国知网推出的一种专用全文阅读格式,而PDF则因其跨平台、不易被修改的特性,受到了广大读者的青睐。因此,将CAJ格式…

【Kibana】快速上手Kibana平台(KQL)

文章目录 快速使用Kibana平台常用查询语句KQL基本查询覆合查询模糊查询 目前市面上大部分的公司的日志系统都是使用ELK系统,因此我们进行工作必须得掌握Kibana平台的基本使用,这里主要说明怎么“快速使用Kibana平台”以及记录一些常用的“KQL语言”。 快…

鸿蒙内核源码分析(消息封装篇) | 剖析LiteIpc(上)进程通讯内容

基本概念 LiteIPC是OpenHarmony LiteOS-A内核提供的一种新型IPC(Inter-Process Communication,即进程间通信)机制,为轻量级进程间通信组件,为面向服务的系统服务框架提供进程间通信能力,分为内核实现和用户…

centos7中如何优雅的动态切换jdk版本?

在 CentOS 7 中动态切换 JDK 版本可以通过多种方法实现,其中最常见的方法是使用 alternatives 命令,这是 CentOS 和其他基于 Red Hat 的系统中用于管理多个软件版本的标准工具。下面我会详细介绍如何使用 alternatives 命令来切换 JDK 版本。 步骤 1: 安…

【QuikGraph】C#调用第三方库计算有向图、无向图的连通分量

QuikGraph库 项目地址:https://github.com/KeRNeLith/QuikGraph 相关概念 图论、连通分量、强连通分量相关概念,可以从其他博客中复习: https://blog.csdn.net/weixin_50564032/article/details/123289611 https://zhuanlan.zhihu.com/p/3…

记录Spring Boot 2.3.4.RELEASE版注解方式实现AOP和通知的执行顺序

1.advice 按照以下的顺序执行 输出结果:(正常和异常) 说明:Spring boot 2.3.4.RELEASE 版本使用的AOP是spring-aop-5.2.9.RELEASE,AOP的通知顺序不一样。 可以测试下Spring boot 2.1.1.RELEASE 版做对比,发现结果是不一样的。 2…

在React中利用Postman测试代码获取数据

文章目录 概要名词解释1、Postman2、axios 使用Postman测试API在React中获取并展示数据小结 概要 在Web开发中,通过API获取数据是一项常见任务。Postman是一个功能强大的工具,可以帮助开发者测试API,并查看API的响应数据。在本篇博客中&…

不懂数字后端Box List、Polygon的意思?

什么是BOX? 景芯SoC做design planning的第一步就是确定floorplan的box,也就是设计的区域。这个区域可以划分为三个边界,如下图所示: Die Box 最外面一圈,我们称为 Die Box,也就是用来放置 IO 单元&#x…

Java面试八股之String类的常用方法有哪些

Java中String类的常用方法有哪些 获取字符串信息: length():返回字符串的字符数。 isEmpty():判断字符串是否为空(即长度为0)。 访问单个字符: charAt(int index):返回指定索引处的字符。 …

使用Docker创建verdaccio私服

verdaccio官网 1.Docker安装 这边以Ubuntu安装为例Ubuntu 安装Docker​,具体安装方式请根据自己电脑自行搜索。 2.下载verdaccio docker pull verdaccio/verdaccio3.运行verdaccio 运行容器: docker run -it -d --name verdaccio -p 4873:4873 ver…

29、Qt使用上下文菜单(右键菜单)

说明:使用四种方式实现鼠标右击界面,显示出菜单,菜单上有两个动作,选择两个动作,分别打印“111”和“222”。 界面样式如下: 一、方法1:重写鼠标事件mousePressEvent .h中的代码如下&#xff…

AIConnect 综合算力服务网络:引领智能未来,创造无限可能性!

2022年11月30日,由OpenAI开发的大模型聊天机器人GPT-3发布,首个完全意义上通过图灵测试的人工智能诞生了。这一里程碑事件的启发了人们对AI技术的发展和应用。在短短两年的时间里,各式各样的聊天AI,图片生成AI,视频生成…

B/S版+java开发的医院绩效考核系统maven+Visual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键

B/S版java开发的医院绩效考核系统mavenVisual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键 医院绩效评价系统的建设,优化医院绩效管理体系,规范化工作目标的设计、沟通、评价与反馈,改进和提供医院管理人员的管理能力和成效&am…

【强训笔记】day23

NO.1 思路:直接计算结果,先计算怪物可以抗几次攻击,再计算勇士受到的伤害,如果勇士的攻击力大于等于怪物的血量,那么就可以击杀无数只,如果勇士的血量正好是受到攻击的整数倍,那么击杀的怪物数…

深度解刨性能测试工具Locust

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 Locust安装 …

强化训练:day8(求最小公倍数、数组中的最⻓连续⼦序列、字⺟收集)

文章目录 前言1. 最小公倍数1.1 题目描述1.2 解题思路1.3 代码实现 2. 数组中的最⻓连续⼦序列2.1 题目描述2.2 解题思路2.3 代码实现 3. 字母收集3.1 题目描述3.2 解题思路3.3 代码实现 总结 前言 1. 最小公倍数   2. 数组中的最⻓连续⼦序列   3. 字⺟收集 1. 最小公倍数…

安卓APP+TCP+服务器端

1、在.xml文件中添加权限 <uses-permission android:name"android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name"android.permission.INTERNET"/>2、修改显示界面 <?xml version"1.0" encoding"utf-8&…

二叉树专题(有关二叉树的相关学习)

二叉树 1.数概念及结构 1.1树的结构 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结…