Huggingface托管机器学习模型及API提供

news2024/9/27 5:35:35

在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景

我想在我的网络和移动应用程序中使用机器学习模型,但要做到这一点,我必须在某个地方托管我的机器学习应用程序。

托管预先训练的 ML 模型称为推理。 我只想添加一些 Python ML 代码并快速获得 REST API,但事实证明找到一种简单的方法来实现这一点比我预期的要困难。

“我只想添加一些 Python ML 代码并获得 REST API”
有很多托管提供商,包括 Amazon AWS 和 Google GCP 等大型提供商,但使用这些提供商的过程很复杂,并且通常需要构建自己的 Flask REST API。

幸运的是,@prundin 和 @abidlabs 有一个解决方案:Gradio 和 Huggingface Spaces。

1、在 Huggingface 上创建一个新空间

Huggingface 就像 GitHub,但适用于 ML 模型和应用程序。 Huggingface 上的“Space”是一个 ML 应用程序,你可以通过 Git 进行更新。 空间根据CPU类型定价,最简单的一个是免费的!

Gradio 是 ML 应用程序的用户界面组件(例如输入字段)库。

通过以下方式创建新空间:

转到 space并单击创建新空间。
如果不确定,请选择 OpenRAIL 许可证。
选择Gradio作为Space SDK。

在这里插入图片描述

2、本地开发设置

转到你的开发文件夹并克隆你的空间:

git clone https://huggingface.co/spaces/USER_NAME/SPACE_NAME

cd SPACE_NAME

设置 Python、Gradio 等:

# Create and activate a “safe” virtual Python environment (exit with command “deactivate”)
python3 -m venv env
source env/bin/activate

# Create a .gitignore file to exclude the packages in `env` folder
echo "env/" >> .gitignore

# Install Gradio
pip3 install gradio

# Update the list of required packages (do this every time you add packages)
pip3 freeze > requirements.txt

3、README 文件中的设置

README.md 包含你的应用程序的一些关键设置。

我在 Huggingface 的实时环境中遇到了一些错误,直到我意识到我必须锁定 Python 版本以使其与我本地使用的版本相同。 通过如下命令查看本地版本号:

python3 --version

然后将版本号添加到 README.md 中,如下所示:

python_version: 3.9.13

4、创建用户界面和 REST API

创建一个空白的 app.py 文件:

touch app.py

编辑app.py:

import gradio

def my_inference_function(name):
  return "Hello " + name + "!"

gradio_interface = gradio.Interface(
  fn = my_inference_function,
  inputs = "text",
  outputs = "text"
)
gradio_interface.launch()

使用 Git 将文件上传到 Huggingface:

git add .
git commit -m "Creating app.py"
git push

5、在 Huggingface 上测试应用

不管你是否相信,你现在已经有了一个带有 REST API 的实用应用程序!

在浏览器中打开如下网址:

https://huggingface.co/spaces/USER_NAME/SPACE_NAME

请参阅此处的示例 。

在这里插入图片描述

  • 用户界面:你可以在名称框中输入内容,然后按提交。
  • REST API 接口:在页面底部有一个名为“Use via API”的链接。 单击它以获取说明,但你现在可以使用 REST 调用应用程序:
curl -X POST -H 'Content-type: application/json' --data '{ "data": ["Jill"] }' https://USER_NAME-SPACE_NAME.hf.space/run/predict

REST API将返回如下结果:

{
  "data":[
    "Hello Jill!"
  ],
  "is_generating":false,
  "duration":0.00015354156494140625,
  "average_duration":0.00015354156494140625
}

6、在本地测试应用程序

在本地你可以运行:

python3 app.py

现在可以在 http://127.0.0.1:7860/ 上以交互方式测试你的应用程序,并在 http://127.0.0.1:7860/run/predict 上访问 REST API。

修改app.py时需要停止(Ctrl+C)并重新启动应用程序。

7、更进一步

你现在可以探索 Huggingface 上的所有模型,包括 Stable Diffusion 2 和 GPT-Neo,并将它们添加到你的 Spaces 应用程序中。

请参阅完整的 ML 示例,你可以看到调用 ML 模型实际上只需要很少的代码行。
在这里插入图片描述


原文链接:Huggingface托管ML API — BimAnt

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

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

相关文章

一段简单的汇编语言源程序【2】

此文章主要记录代码的编写,编译,连接,调试过程,相关工具的安装和使用介绍在前面的文章中已提供。 主要功能通过栈实现两个数的交换 源代码如下: assume cs:codesg codesg segmentmov ax,2000Hmov ss,axmov sp,0add s…

国产发力,长存入局|相变存储器PCM是SCM的未来吗?

在去年7月份有一件震惊存储圈的事情,那就是Intel说要放弃Optane产品线,包括PMEM和SSD两个方向都要放弃。存储圈看到听到这个消息也是一脸的茫然。 在Optane产品发布之前,大家针对DRAM和SSD之间的性能gap一直在苦苦找寻合适的产品。SCM存储级内…

深度学习12:胶囊神经网络

目录 研究动机 CNN的缺陷 逆图形法 胶囊网络优点 胶囊网络缺点 研究内容 胶囊是什么 囊间动态路由算法 整体框架 编码器 损失函数 解码器 传统CNN存在着缺陷(下面会详细说明),如何解决CNN的不足,Hinton提出了一种对于图…

一篇掌握BFD技术(二):OSPF与BFD联动配置

1. 实验目的 熟悉OSPF与BFD联动的应用场景掌握OSPF与BFD联动的配置方法 想要华为数通配套实验拓扑和配置笔记的朋友们点赞关注&#xff0c;评论区留下邮箱发给你&#xff01; 2. 实验拓扑 3. 实验步骤 1&#xff09;IP地址的配置 AR1的配置 <Huawei>system-view…

Origin软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 Origin是一款专业的科学绘图和数据分析软件&#xff0c;由美国OriginLab公司开发。它提供了丰富的数据分析和绘图工具&#xff0c;适用于各种科学领域&#xff0c;如生物学、化学、物理学、医学、地球科学等。Origin软件的主要特…

使用 S3 生命周期精确管理对象生命周期

在亚马逊工作这些年,我发现 S3 的生命周期配置是管理对象生命周期的重要但复杂的工具。在这篇文章中,我将利用实战经验,深入剖析生命周期,从核心概念到实际应用。 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活…

C语言暑假刷题冲刺篇——day5

目录 一、选择题 二、编程题 &#x1f388;个人主页&#xff1a;库库的里昂 &#x1f390;CSDN新晋作者 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏✨收录专栏&#xff1a;C语言每日一练✨相关专栏&#xff1a;代码小游戏、C语言初阶、C语言进阶&#x1f91d;希望作者…

程序的编译链接【编译链接大概步骤】

全文目录 &#x1f600; 前言&#x1f642; 翻译环境和执行环境&#x1f636; 编译和链接&#x1f635;‍&#x1f4ab; 预编译&#xff08;预处理&#xff09;&#x1f635;‍&#x1f4ab; 编译&#x1f635;‍&#x1f4ab; 汇编&#x1f635;‍&#x1f4ab; 链接 &#x1…

数值类特征

数值类特征 数值类特征是最常见的一种特征类型&#xff0c;数值可以直接喂给算法。 为了提升效果&#xff0c;我们需要对数值特征做一些处理&#xff0c;本文介绍了4种常见的处理方式&#xff1a;缺失值处理、二值化、分桶、缩放。 什么是数值类特征&#xff1f; 数值类特征就是…

腾讯云服务器地域和可用区详细介绍_选择攻略

腾讯云服务器地域有什么区别&#xff1f;怎么选择比较好&#xff1f;地域选择就近原则&#xff0c;距离地域越近网络延迟越低&#xff0c;速度越快。关于地域的选择还有很多因素&#xff0c;地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素…

Redis数据类型全总结【超详细万字总结】

文章目录 前言一、String1、内部实现2、应用场景缓存对象常规计数分布式锁共享 Session 信息 3、常用指令 二、List1、内部实现2、应用场景消息队列List 作为消息队列有什么缺陷 3、常用指令 三、Hash1、内部实现2、应用场景缓存对象购物车 3、常用指令 四、Set1、内部实现2、应…

Linux学习之LNMP环境搭建

LNMP是Linux、Nginx、MySQL和PHP的简称。 Linux参数显示 cat /etc/redhat-release看到操作系统是CentOS Linux release 7.6.1810&#xff0c;uname -r看到内核版本是3.10.0-957.el7.x86_64。 nginx安装 可以参考《Linux学习之CentOS 7源码安装openresty》 安装mariadb数据…

最简单的电子宣传册制作软件

HI&#xff01;今天给大家分享一款操作起来最简单的制作电子宣传册的软件---FLBOOK&#xff0c;它可支持在线排版编辑、一键套用模板的方式&#xff0c;使新手也能制作出优秀的电子宣传册。 具体如何制作的呢&#xff1f; 1.打开FLBOOK&#xff0c;进入FLBOOK主页 2.打开模板专…

在Jupyter中使用AI写代码,如有神助,太惊艳了

昨晚看到一个可以在JupyterLab中使用的AI代码辅助工具jupyter-ai&#xff0c;它的交互确实非常棒&#xff0c;可以直接聊天&#xff0c;也可以就笔记中的代码提问&#xff0c;最出彩的是生成笔记功能&#xff0c;还是蛮惊艳的。 这里就极简介绍一下安装及用法 第一步是创建环…

学习笔记:Pytorch利用MNIST数据集训练生成对抗网络(GAN)

2023.8.27 在进行深度学习的进阶的时候&#xff0c;我发了生成对抗网络是一个很神奇的东西&#xff0c;为什么它可以“将一堆随机噪声经过生成器变成一张图片”&#xff0c;特此记录一下学习心得。 一、生成对抗网络百科 2014年&#xff0c;还在蒙特利尔读博士的Ian Goodfello…

学习笔记230827--vue项目中,子组件拿不到父组件异步获取数据的问题

问题描述 父组件的数据是请求后台所得&#xff0c;因为是异步数据&#xff0c;就会出现&#xff0c;父组件的值传递过去了&#xff0c;子组件加载不到&#xff0c;拿不到值的问题。 下面从同步数据传递和异步数据传递开始论述问题 1. 父组件传递的是同步数据 父组件 <…

【Spring】什么是 AOP(面向切面编程) ? 为什么要有 AOP ? 如何实现 Spring AOP ?

文章目录 前言一、什么是 AOP ?二、为什么要使用 AOP ?三、 AOP 的组成四、Spring AOP 的实现1, 添加依赖2, 定义切面3, 定义切点4, 定义通知5, 创建连接点 总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; JavaSE基础: 基础语法…

计算机视觉 – Computer Vision | CV

计算机视觉为什么重要&#xff1f; 人的大脑皮层&#xff0c; 有差不多 70% 都是在处理视觉信息。 是人类获取信息最主要的渠道&#xff0c;没有之一。 在网络世界&#xff0c;照片和视频&#xff08;图像的集合&#xff09;也正在发生爆炸式的增长&#xff01; 下图是网络上…

Linux操作系统--shell编程(helloworld初体验)

1.shell概述 shell是一个命令行解释器,它接受应用程序/用户命令,然后调用操作系统的内核,以完成所谓的功能指令。 Linux中常用的解析器 CentOS7使用的解析器是bash,这里的sh是指向bash 2.Shell脚本入门 下面我们开始学习编写shell脚本,我们从HelloWorld开始。

怎么找到真实可用的淘宝拼多多京东API?(商品数据订单数据销量价格接口)

要找到真实可用的淘宝、拼多多、京东API&#xff0c;可以采取以下步骤&#xff1a; 打开相应电商平台的开放平台网站&#xff0c;例如淘宝开放平台、拼多多开放平台、京东开放平台等。在网站中注册并登录&#xff0c;找到API文档或开发者文档等页面。在文档中搜索与所需功能相…