手把手教你玩Hugging Face

这篇具有很好参考价值的文章主要介绍了手把手教你玩Hugging Face。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hugging Face起初是一家总部位于纽约的聊天机器人初创服务商,他们本来打算创业做聊天机器人,然后在github上开源了一个Transformers库,虽然聊天机器人业务没搞起来,但是他们的这个库在机器学习社区迅速大火起来。目前已经共享了超100,000个预训练模型,10,000个数据集,变成了机器学习界的github

打开它的网站:Hugging Face – The AI community building the future.

手把手教你玩Hugging Face

可以看到,Hugging Face的主要功能都在最上面的一行,包括:模型(Models)、数据集(Datasets)、空间(Spaces)。其他还有:说明文档(Docs)、解决方案(Solutions)、报价(Pricing)。另外在折叠的菜单里,还有交流社区(Community)、以及机器学习的一些课程等等。

在这里,我们先着重说一下这个Spaces。这是Hugging Face区别于github的一个特殊功能。就是可以把你的模型和代码运行在它的服务器上,并且可以公开提供给别人用!

具体怎么做呢?举个简单的例子:现在大火的ChatGPT很好玩,但是由于众所周知的原因,不给我们用了!爬墙又很麻烦,梯子有可能不稳定,普通人也不会用。Hugging Face这时候就派上用场了!因为它是个美国网站,且没有被墙,它的服务都运行在美国,所以在这上面用你的ChatGPT API Key就不会被封!

打开这个Space:Chatgpt Demo - a Hugging Face Space by cuiyuan605

就可以用你的OpenAI API Key跟ChatGPT畅聊了!

如果你觉得用别人的Space不放心,那可以将它一键克隆到你的账号:

手把手教你玩Hugging Face

这样,你就可以随意修改它的代码,妈妈再也不用担心你的Key被别人偷了!

如果你没有ChatGPT的API Key,这里还有一个可以将文字变成图像的小模型,你也可以克隆到你的账号里玩一玩:Text to Image - a Hugging Face Space by cuiyuan605

这个Space的功能,就是将你的代码,运行在Hugging Face的服务器上。App就是你的服务交互界面,Files是你的代码文件,Community是这个服务的相关讨论。另外,还可以在Settings里修改这个服务的设置,后面的菜单里是其他人对这个Space的一些操作。

那么,这个Space的交互原理是什么,如何从零构建一个自己的Space呢?

可以参考一下网站给的文档:Spaces

如果不想看英文文档,可以看我下面的简单介绍。

这个Space的主要原理,就是让你在它的服务器上跑一个web服务。然后将你生成的交互页面嵌入到App这个选项页里。

Hugging Face提供了三种动态交互的方式:Gradio、Streamlit和Docker。

这里重点说一下Gradio,这是一个python的web服务库。是专门为机器学习应用,封装的一个前后端库。用法很简单,详细文档可以参考这里:Quickstart

我们先用一个简单的例子,让你可以快速用起来。

首先,创建一个Space,Space SDK选择Gradio:

手把手教你玩Hugging Face

然后,在Files中创建文件requirements.txt,用于指定项目的依赖库。比如在这里,我们可以将文件内容编辑为:

transformers

torch

接下来,创建文件app.py,用于实现交互界面。我们将文件内容编辑为:

import gradio as gr



def greet(name):

    return "Hello " + name + "!!"



iface = gr.Interface(fn=greet, inputs="text", outputs="text")

iface.launch()

保存文件后,点击App选项页,等它build一会儿,一个简单的Gradio项目就成功啦!

手把手教你玩Hugging Face

之后每次更新仓库,都会重新构建和启动App,你也可以用git把项目拉到本地进行开发,开发完成后上传代码,方法和github一样。clone的地址在Settings后面那个三个点的菜单里。

是不是是很简单,是不是打开了一个新世界的大门,只要把项目设为public,就可以将服务提供给其他人用啦。不过免费的空间只有2CPU和16G内存,且每48小时就会将你的服务自动停止。需要更长的服务时间,更多硬件资源,甚至GPU资源,那就需要马内了,毕竟世上没有免费的午餐!

下面的Streamlit和Docker只做简单的介绍。

Streamlit也是一个python的前后端库,只不过它并不是专为机器学习应用开发的,而是更偏向于可视化数据展示。此外,它还有个重要的功能,就是能够把页面嵌入到其他的网站,也就是说你可以把Hugging Face上服务,嵌入到你的个人网站里!开不开心,意不意外!具体方法可以参考文档:Streamlit Spaces

至于Docker则是一个更加独立自由的空间,用过的都说好!具体使用方法可以参考官方文档:Your First Docker Space: Text Generation with T5

这里顺便说一下,Docker这个示例是跑不通的!官方文档写错了,需要把Dockerfile的最后一行:

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]

改为:

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]

除了Spaces以外,Hugging Face还提供了各路大佬上传的各种模型和数据集,让我们可以站在大佬的肩膀上看世界,不用苦逼的造轮子。

不过模型和数据文件一般都比较大,需要用到lfs(Large File Storge)大文件存储,用之前记得先装一下:

git lfs intall

然后git clone走起

手把手教你玩Hugging Face

我们除了可以直接下载这些模型和数据集以外,还可以对模型进行自动训练。

手把手教你玩Hugging Face

或者直接将模型部署为API或者Space

手把手教你玩Hugging Face

数据集的clone地址藏在这里哦:

手把手教你玩Hugging Face

下面,我们就开心的玩起来吧!

参考资料:

《Huggingface 超详细介绍》:Huggingface 超详细介绍 - 知乎文章来源地址https://www.toymoban.com/news/detail-456044.html

到了这里,关于手把手教你玩Hugging Face的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【三万字保姆级教程】手把手带你玩转Midjourney AI绘画

    如上图所示,想要学习创作美丽、复杂的艺术作品吗? Midjourney的AI绘画课程为你提供了一个完整的学习体验,从基础概念到实践项目,让你掌握使用AI绘画工具和软件的技巧,让你的创作过程更加简单! 我们的课程适合对AI绘画感兴趣的初学者、艺术家、设计师、教育工作者

    2024年02月09日
    浏览(51)
  • 手把手带你玩转Spark机器学习-深度学习在Spark上的应用

    手把手带你玩转Spark机器学习-专栏介绍 手把手带你玩转Spark机器学习-问题汇总 手把手带你玩转Spark机器学习-Spark的安装及使用 手把手带你玩转Spark机器学习-使用Spark进行数据处理和数据转换 手把手带你玩转Spark机器学习-使用Spark构建分类模型 手把手带你玩转Spark机器学习-使

    2023年04月08日
    浏览(50)
  • 失眠大数据专家,手把手带你玩转大数据,HDFS三种搭建方式

    (1) 配置免密登录 node01-node01 (2) 配置JDK (3) 修改hdfs-site.xml配置文件 (4) 修改core-site.xml配置文件 (5) 修改slaves配置文件 修改为node01 (6) 格式化NameNode(创建目录以及文件) hdfs namenode -format (7) 启动HDFS start-dfs.sh (8) 操作HDFS文件系统 ① 创建目录 hdfs dfs -mkdir -p /user/root ② 上传文件 hdf

    2024年04月11日
    浏览(44)
  • 手把手教你SHA-256

    SHA-256是SHA-2协议簇的一部分,也是当前最流行的协议算法之一。在本篇文章中,我们会了解这个密码学算法的每一个步骤,并且通过实例演示。SHA-2因它的安全性(比SHA-1强很多)和速度为人所知。在没有键(keys)生成的情况下,例如挖掘比特币,像SHA-2这样的快速哈希算法很

    2024年02月13日
    浏览(80)
  • 手把手教你暴力破解

    暴力破解是一种攻击手段,使用大量的认证信息在认证接口尝试登录,直到得到正确的结果。 2.1标题基于表单的暴力破解 2.1.1 第一步:打开burpsuite拦截 2.1.2 第二步:将拦截到的包右击发送到intruder模块 (其中简单介绍一下intruder模块) Target主要是设置暴力破解访问的host地址

    2024年02月07日
    浏览(62)
  • 【JUnit技术专题】「入门到精通系列」手把手+零基础带你玩转单元测试,让你的代码更加“强壮”(实战开发篇)

    本节内容主要介绍JUnit单元测试功能框架,并以实战演练的形式进行讲解。本系列教程主要针对代码编程方式和模型,重点讲解实战代码开发。通过本系列教程的学习,您将能够深入了解JUnit单元测试框架的使用和原理,并掌握如何在实际项目中运用JUnit进行单元测试。 以下是

    2024年02月03日
    浏览(83)
  • 手把手教你落地DDD

    一、前言 常见的DDD实现架构有很多种,如经典四层架构、六边形(适配器端口)架构、整洁架构(Clean Architecture)、CQRS架构等。架构无优劣高下之分,只要熟练掌握就都是合适的架构。本文不会逐个去讲解这些架构,感兴趣的读者可以自行去了解。 本文将带领大家从日常的

    2024年02月16日
    浏览(54)
  • 手把手教你实战TDD

    领域驱动设计,测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际

    2024年02月08日
    浏览(51)
  • 手把手教你做主成分分析

    主成分分析是一种降维处理的统计方法,实践中有三个应用场景: 信息浓缩:将多个分析项浓缩成几个关键概括性指标; 权重计算:利用方差解释率值计算各概括性指标的权重; 综合评价:基于主成分得分构造综合得分数据,用于综合评价。 接下来,以一个具体案例来学习

    2024年02月01日
    浏览(61)
  • 【JUnit技术专题】「入门到精通系列」手把手+零基础带你玩转单元测试,让你的代码更加“强壮”(场景化测试篇)

    测试套件将多个单元测试用例捆绑在一起并进行集中执行。在JUnit中,可以使用@RunWith和@Suite注解来实现测试套件的运行。 下面的示例包含TestJunit1和TestJunit2两个测试类,我们将使用测试套件来一起运行这两个测试类: 创建一个类 创建一个待测试的Java类,命名为MessageUtil.ja

    2024年02月03日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包