生活服务
Hugging Face 介绍 & 快速搭建模型服务
2024-12-26 16:00  浏览:110

你可以在这个网站找到各种类型的模型

Tasks - Hugging Face

以Image To Text这个类别为例,其主要由以下几个部分构成

  • 类别介绍
  • 模型尝试
  • 模型列表

隶属于 库,不仅可以下载模型、数据,还可以可以登录huggingface、上传模型、数据等。

安装依赖

注意:huggingface_hub 依赖于 Python>=3.8,此外需要安装 0.17.0 及以上的版本,推荐0.19.0+。

基本用法

这个命令是使用Hugging Face的命令行工具(huggingface-cli)来下载一个模型。让我一步一步详细介绍

  1. : 这是Hugging Face提供的一个命令行工具,用于管理和下载模型、数据集等NLP资源。
  2. : 这个命令告诉huggingface-cli你想要下载一个资源。
  3. : 这个标志允许你在下载被中断后继续下载,如果之前的下载尚未完成,这个标志会尝试从之前下载的位置继续下载。
  4. : 这是你要下载的模型的名称。在这种情况下,你正在下载一个由Salesforce发布的名为"blip2-opt-2.7b"的模型。这个模型可能用于自然语言处理(NLP)任务。
  5. : 这个标志指定了下载后资源的本地目录。在这里,你将下载的模型资源保存到了本地目录"D:HuggingFacehubblip2-opt-2.7b"中。

镜像站 https://hf-mirror.com。

设置方法

Windows Powershell

 

Linux

 

Python

 

注意得在import huggingface库相关语句之前执行。

直接在代码中应用模型的本地路径即可,这里需要注意的是,下载模型的时候,要把huggingface上的所有文件全部下载下来。

参考代码如下

 

这里我使用了Gradio做前端展示

如上。

但是每次启动脚本的时候,都会出现一个问题,就是加载模型需要很久很久很久……

使用 Transformers 加载大型模型确实可能需要一些时间,尤其是在首次启动时。这是因为模型通常很大,需要从远程服务器下载到本地,之后还要在本地进行初始化。为了优化这一过程,你可以考虑以下几个策略

  1. 使用持久化存储:在首次下载模型后,可以将其保存在本地硬盘上。这样,在之后的使用中就可以直接从本地加载模型,而无需再次从远程服务器下载。
  2. 使用 Flask 或 FastAPI:这两种框架都可以用来创建一个服务,该服务在启动时加载模型,并在之后的请求中重用已加载的模型。这意味着模型只需在服务启动时加载一次。
    • Flask:Flask 是一个轻量级的 Web 应用框架。它简单易用,适合小到中型项目,以及在单个或少数几个服务器上运行的应用程序。
    • FastAPI:FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API。它基于标准 Python 类型提示,支持异步编程,通常适合需要高性能和并发处理的场景。

选择 Flask 还是 FastAPI 取决于你的具体需求。如果你需要快速、简单地搭建一个 API,且不需要处理大量并发请求,Flask 可能是更好的选择。如果你的应用需要处理大量并发请求,或者你希望利用 Python 的异步特性,那么 FastAPI 可能更合适。

我会提供一个简单的例子,展示如何使用 Flask 或 FastAPI 来部署一个模型服务。这个服务将在启动时加载模型,并在之后的请求中重用已加载的模型。

使用 Flask

先来看一个 Flask 的例子。假设我们正在部署一个 Transformer 模型(例如 BERT)来执行某种任务(比如文本分类)。

 

这个 Flask 应用在启动时会加载模型和分词器。当接收到 POST 请求 ,它会对提供的文本进行预测,并返回预测的类别。

使用 FastAPI

下面是一个使用 FastAPI 的例子。FastAPI 通常提供更快的性能和自动生成的 API 文档。

 

这个 FastAPI 应用与 Flask 示例类似,它在启动时加载模型和分词器,并在接收到 POST 请求 时处理预测。

注释

在这两个例子中,都使用了 库来加载预训练的 BERT 模型及其分词器。这些模型在应用启动时加载,并在处理请求时重复使用。请求中的文本数据经过分词器处理后输入到模型中,模型的输出用于生成预测响应。

请注意,这些示例代码假设你已经安装了所需的依赖项(如 , , ,并且你的环境能够运行这些模型。此外,这些示例仅作为基本演示,可能需要根据你的具体应用场景进行调整和优化。

接下来,我将解释如何从客户端调用刚刚创建的 Flask 或 FastAPI 服务来获取模型预测。这通常涉及向服务发送一个包含所需数据的 HTTP 请求,并接收返回的响应。

调用 Flask 服务

假设 Flask 服务正在本地运行,并且监听的端口是默认的 5000 端口。你可以使用 Python 的 库来调用该服务。下面是一个例子

 

在这个例子中,我们首先导入 ,然后指定 Flask 服务的 URL。接着,我们创建一个字典 ,包含我们想要模型进行预测的文本。之后,我们使用 方法向 Flask 服务发送 POST 请求,并将 作为 JSON 数据发送。最后,我们打印出从服务接收到的响应。

调用 FastAPI 服务

假设 FastAPI 服务正在本地运行,并且监听的端口是 8000 端口。调用方法与 Flask 类似

 

这个例子与 Flask 的例子非常相似。主要区别在于服务的 URL 可能不同,因为它们运行在不同的端口上。

注意事项

  • 确保 Flask 或 FastAPI 服务正在运行,否则你的请求将失败。
  • 如果服务部署在不同的主机或端口上,请相应地更改 URL。
  • 这些示例代码假设你已经安装了 库。如果没有安装,可以通过运行 来安装它。
  • 这些调用示例仅用于演示基本的服务调用,可能需要根据实际情况进行调整和扩展。
    以上就是本篇文章【Hugging Face 介绍 & 快速搭建模型服务】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/tnews/1684.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
电信怎么设置呼叫转移功能,座机怎么设置呼叫转移功能oppo手机怎么设置呼叫转移「电信怎么设置呼叫转移功能,座机怎么设置呼叫转移功能」
最佳答案1.我们拨通10000,然后再按照语音提示接通人工服务; 2.然后我们再让客服来开通呼叫转移这个功能,还有其他两个选项,但
把强大的chrome浏览器安装到手机上,并支持电脑版的各种扩展CRX插件chrome手机版「把强大的chrome浏览器安装到手机上,并支持电脑版的各种扩展CRX插件」
发现了一款强大的手机版chrome浏览器,这个绝对不是应用市场里面的那个chrome,应用市场里的chrome不够强大,而且无法安卓扩展插
红警大作战尤里的复仇红警复仇手机版「红警大作战尤里的复仇」
红警大作战尤里的复仇是一款经典游戏的延续之作,经典的游戏红色警戒相信大家都玩过,这款游戏是在经典的基础上加以进化,让玩家
超千亿元回购增持再贷款!A500ETF今日低开高走,实时成交额突破9000万元
消息面上,自去年10月18日股票回购增持再贷款政策工具正式设立至今已半年,上市公司和主要股东积极响应。据Wind资讯数据统计,截
折叠手机铰链耐久度对决!三星超越摩托罗拉,OPPO表现引人瞩目摩托罗拉折叠手机「折叠手机铰链耐久度对决!三星超越摩托罗拉,OPPO表现引人瞩目」
前几日,有外网博主进行了一项“利好消费者但很无聊”的实验,就是直播两款折叠手机的铰链耐用度,型号分别是对三星Galaxy Z Fli
金饰价格最高突破1000元/克!上海金ETF(518600)开盘延续涨势,已连续12日获资金布局,冲击5连涨
【国际金价续创历史新高,金饰价格突破1000元/克】消息面上,受国际金价继续上涨影响,国内各金饰品牌挂牌价格也随之攀升至历史
手机拍摄屏幕时条纹的问题与解决:揭秘摩尔纹现象及拍摄技巧手机拍电脑屏幕有条纹怎么解决「手机拍摄屏幕时条纹的问题与解决:揭秘摩尔纹现象及拍摄技巧」
在现代智能手机普及的今天,拍摄屏幕内容已经成为许多用户日常生活中的一部分。然而,在这一过程中,时常会出现一现象:拍摄的照
“全球新一代豪华中大型电混轿车”推动“豪华平权”
4月10日,“全球新一代豪华中大型电混轿车”星耀8启动预售。新车推出搭载雷神EM-P超级电混和雷神EM-i超级电混的双动力版本,共计
苹果手机应用宝在哪里苹果手机下载应用宝「苹果手机应用宝在哪里」
对于许多苹果手机用户来说,应用宝这款应用商店并不陌生。作为腾讯旗下的手机应用商店,应用宝以其丰富的应用资源和便捷的下载方
倒班排班助手排班软件手机版「倒班排班助手」
倒班排班助手app方便用户的工作管理非常的适合哪些工作需要轮班的人员,一键的设置非常的便捷,自定义班次,还可以便捷的进行备