使用transformers中的pipeline调用huggingface中模型过程中可能遇到的问题和修改建议

news2024/11/17 13:25:07

使用transformers中的pipeline调用huggingface中模型过程

  • 前言
  • 管线使用中的问题和解决
    • huggingface的连接问题
      • 使用huggingface示例
      • 修改源继续使用pipeline
    • No module named 'keras.engine'

前言

HuggingFace有一个巨大的模型库,其中包括很多的比较成熟的经典模型,这些模型即使不进行任何训练也能直接得出比较好的预测结果(Zero Shot Learning)。

transformers中提供的管线(pipeline)API隐藏了大量复杂的底层代码,直接使用现有的模型,不再需要再训练就可以获得较好的效果。

在学习transformers的初期可能会遇到一些问题,本篇文章将解决transformers中使用管线中可能遇到的问题。

管线使用中的问题和解决

在本篇中以情感分析任务为例,实现通过管线使用中的问题和解决。

huggingface的连接问题

使用管线进行情感分析的代码如下:

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
result = classifier("I hate you") 

如果运行过程中出现以下报错,说明遇到了huggingface连接问题,受网络影响,无论是访问huggingface还是从huggingface上下载模型都可能存在连接问题,一般情况下我们会采用镜像源的方式解决。
在这里插入图片描述
从上述报错中我们可以看到,情感分析(sentiment-analysis)任务中,访问的链接是https://huggingface.co/distilbert-base-uncased-finetuned-sst-2-english,当不能访问huggingface时,这个链接自然也不能正常访问。这时需要将huggingface.co换成镜像源hf-mirror.com,可以通过访问镜像源来获取模型。有两种方式可以使用该模型进行情感分析——修改源继续使用pipeline和使用huggingface示例。

使用huggingface示例

我们将访问链接换成https://hf-mirror.com/distilbert-base-uncased-finetuned-sst-2-english可以直接访问镜像源中模型的页面,点击Files and versions可以查看模型文件
在这里插入图片描述
随后我们只需要将这些文件和文件夹全部下载下来并且放在同一个文件夹中即可。
在这里插入图片描述下载完成后我们返回到Model card向下拉可以看到使用这一模型的示例
在这里插入图片描述
如果没有下载模型,使用该代码也会自动下载,但有可能因为超时而断联,从而导致下载失败。所以这里建议先下载后,再执行示例。

在这里我模型下载的路径是"../huggingface_model/distilbert-base-uncased-finetuned-sst-2-english",将示例中模型名字换成本地路径即可。

import torch
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification

tokenizer = DistilBertTokenizer.from_pretrained("../huggingface_model/distilbert-base-uncased-finetuned-sst-2-english")
model = DistilBertForSequenceClassification.from_pretrained("../huggingface_model/distilbert-base-uncased-finetuned-sst-2-english")

inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits

predicted_class_id = logits.argmax().item()
print(model.config.id2label[predicted_class_id])

运行结果:

POSITIVE

修改源继续使用pipeline

修改后的代码如下:

import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
from transformers import pipeline

classifier = pipeline("sentiment-analysis")
result = classifier("I hate you") 
print(result)

这样修改的原理是将环境变量HF_ENDPOINT修改为https://hf-mirror.com(默认为https://huggingface.co),设置完之后将默认使用镜像源访问模型。

运行结果
在这里插入图片描述

[{'label': 'NEGATIVE', 'score': 0.9991129040718079}]

从运行结果可以看到链接地址已经变成了镜像源的地址,并且会自动下载模型,不过要注意的是模型默认会下载到C盘,在windows系统中,路径为:C:\Users\<你的主机名>\.cache\huggingface\hub
在这里插入图片描述

No module named ‘keras.engine’

在使用管线时还有可以存在以下问题,报错如下:No module named 'keras.engine'
在这里插入图片描述
这个报错是因为transformers、tensorflow、keras三者之间版本不匹配产生的问题,一般来讲将这三个包升级到最新版本即可。

pip install --upgrade tensorflow
pip install --upgrade keras
pip install --upgrade transformers

如果升级后还是有问题,不妨参照以下版本,至少在本案例中没有出现问题。

名称版本
tensorflow2.17.0
keras3.5.0
transformers4.45.1

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

牛犇啊!LSTM+Transformer炸裂创新,精准度高至95.65%!

【LSTMTransformer】作为一种混合深度学习模型&#xff0c;近年来在学术界和工业界都受到了极大的关注。它巧妙地融合了长短期记忆网络&#xff08;LSTM&#xff09;在处理时序数据方面的专长和Transformer在捕捉长距离依赖关系上的优势&#xff0c;从而在文本生成、机器翻译、…

Request 原理

目录 request原理 Request继承体系 ​编辑Request获取请求行数据方法介绍 1、获取请求行数据 2、获取请求头数据 3、获取请求体数据 4、其他功能 1、获取请求参数通用方式&#xff1a; 中文乱码问题&#xff1a; 2.请求转发 3.共享数据 4.获取servletcontext reques…

set和map结构的使用

个人主页&#xff1a;敲上瘾-CSDN博客 个人专栏&#xff1a;游戏、数据结构、c语言基础、c学习、算法 目录 一、序列式容器和关联式容器 二、set和multiset 1.insert 2.erase 3.find 4.count 三、map和mapmulti 1.pair 2.insert 3.find 4.operator[ ] 5.erase 6.lo…

QT-自定义信号和槽对象树图形化开发计算器

1. 自定义信号和槽 核心逻辑&#xff1a; 需要有两个类&#xff0c;一个提供信号&#xff0c;另一个提供槽。 然后在窗口中将 信号和槽 链接起来。 示例目标&#xff1a; 创建一个 Teacher 类&#xff0c;提供信号。 创建一个 Student 类&#xff0c;提供槽。 实现步骤&…

策略路由控制选路

&#x1f423;个人主页 可惜已不在 &#x1f424;这篇在这个专栏 华为_可惜已不在的博客-CSDN博客 &#x1f425;有用的话就留下一个三连吧&#x1f63c; 目录 一、 实验拓扑 二、 实验简述 三、 实验配置 配置路由信息 配置控制选路 四、 实验验证 ​ 一、 实验…

「安装」 Windows下安装CUDA和Pytorch

「安装」 Windows下安装CUDA和Pytorch 文章目录 「安装」 Windows下安装CUDA和PytorchMac、Linux、云端Windows安装CUDA安装miniconda安装PyTorch测试总结 其他 Mac、Linux、云端 Mac、Linux、云端安装Miniconda和Pytorch的方法参考其他资料。 Windows 下面进行Windows下安装…

CSS选择器的全面解析与实战应用

CSS选择器的全面解析与实战应用 一、基本选择器1.1 通配符选择器&#xff08;*&#xff09;2.标签选择器&#xff08;div&#xff09;1.3 类名选择器&#xff08;.class&#xff09;4. id选择器&#xff08;#id&#xff09; 二、 属性选择器&#xff08;attr&#xff09;三、伪…

转行大模型的必要性与未来前景:迎接智能时代的浪潮

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;特别是大型语言模型&#xff08;LLM, Large Language Models&#xff09;的崛起&#xff0c;各行各业正迎来一场前所未有的技术革命。对于普通程序员而言&#xff0c;转行进入大模型领域不仅是对个人职业发展…

通配符与Powershell

通配符与正则表达式 通配符 通配符是一种特殊的语句&#xff0c;主要有*、?和[]&#xff0c;用来模糊搜索文件。 通配符表达意思举例说明*星号、匹配任何字符*.cpp匹配.cpp文件?问号、匹配任意一个字符*.?d匹配具有特定格式的文件[]中括号、匹配括号中的一个字符.[a-z]d代…

DC00020基于springboot新闻网站系统java web项目MySQL新闻管理系统

1、项目功能演示 DC00020基于springboot新闻网站系统java web项目MySQL 2、项目功能描述 基于springbootvue新闻网站包括用户和系统管理员两个角色。 2.1 用户功能 1、用户登录、用户注册 2、新闻信息&#xff1a;点赞、点踩、收藏、查看 3、用户分享&#xff1a;点赞、点踩…

分库分表还是分布式?如何用 OceanBase的单机分布式一体化从根本上解决问题

随着企业业务规模的不断增长&#xff0c;单机集中式的数据库系统逐渐难以承载企业日益增长的数据存储与处理需求。因此&#xff0c;MySQL 的分库分表方案成为了众多企业应对数据存储量激增及数据处理能力需求扩张的“止痛药”。尽管这一方案短期内有效缓解了企业面临的大规模数…

封装左侧抽屉可拖拽组件【可多个】

一、案例效果 二、案例代码 封装抽屉组件 <template><div class"drag-drawer"><div class"out-box" :style"style"><mtd-tooltip:content"collapse ? 展开面板 : 收起面板"class"tool-tip":placeme…

828华为云征文|部署敏捷项目管理系统工具 ZenTao

828华为云征文&#xff5c;部署敏捷项目管理系统工具 ZenTao 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 ZenTao3.1 ZenTao 介绍3.2 ZenTao 部署3.3 ZenTao 使用 四、总…

云 安 全 (Cloud Security)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

robomimic基础教程(四)——开源数据集

robomimic开源了大量数据集及仿真环境&#xff0c;数据集标准格式为HDF5 目录 一、基础要求 二、使用步骤 1. 下载数据集 2. 后处理 3. 训练 4. 查看训练结果 三、HDF5数据集结构与可视化 1. 数据集结构 &#xff08;1&#xff09;根级别&#xff08;data 组 group&a…

overlayscrollbars使用

官网 https://github.com/KingSora/OverlayScrollbars 使用 <link href"https://cdn.bootcdn.net/ajax/libs/overlayscrollbars/2.10.0/styles/overlayscrollbars.css" rel"stylesheet"> <script src"https://cdn.bootcdn.net/ajax/libs/…

AP配置(leaderAP组网模式)

1.前言 由于业务需求&#xff0c;临时组建一个网络环境使用 网络设备&#xff1a;华为 AirEngine 5762-10、5762S-12 2.网络结构 参考文档&#xff0c;使用leader ap组网模式 使用一台5862S-12作为leaderAP&#xff0c;AP通电后默认是fit模式&#xff0c;需要进入修改 如果…

HA Peer-mode非对称路由配置

目录 前言 一、组网拓扑 二、配置步骤 1.Hillstone-A 2.Hillstone-B 总结 前言 网络环境有非对称流量且需要双活部署时&#xff0c;防火墙可配置HA的peer-mode非对称路由模式进行实现。 一、组网拓扑 数据流量的路径是非对称的&#xff08;即 Flow0和Flow1是两条不同流量…

线性代数~行列式计算

来自b站博主&#xff0c;我爱一高数

【系统交付资料】软件文档交付清单整理套用原件(Word,PPT,Excel)

软件文档交付清单是指在软件开发项目完成后&#xff0c;开发团队需要准备的一份详细清单&#xff0c;用于确保交付的软件产品符合客户需求并达到预期的质量标准。以下是软件文档交付清单中可能包含的一些关键要素 软件资料清单列表部分文档清单&#xff1a;工作安排任务书&…