在Spaces中展示您的项目,使用Gradio
在Spaces中展示您的项目,使用Gradio
通过Gradio,展示一个机器学习项目非常容易。
在这篇博文中,我们将带您了解以下内容:
- 最近的Gradio集成,可以帮助您使用少量代码无缝地演示Hub中的模型,利用推理API。
- 如何使用Hugging Face Spaces托管您自己的模型演示。
Gradio中的Hugging Face Hub集成
您可以轻松地在Hub中展示您的模型。您只需要定义包含以下内容的接口:
- 您想要进行推理的模型的存储库ID
- 一个描述和标题
- 示例输入,以指导您的观众
定义完接口后,只需调用.launch()
,您的演示将开始运行。您可以在Colab中完成此操作,但如果您想与社区共享,一个很好的选择是使用Spaces!
Spaces是一种简单、免费的托管Python机器学习演示应用程序的方法。要这样做,您可以在https://huggingface.co/new-space创建一个存储库,并选择Gradio作为SDK。完成后,您可以创建一个名为app.py
的文件,复制下面的代码,几秒钟后,您的应用程序将开始运行!
import gradio as gr
description = "Story generation with GPT-2"
title = "Generate your own story"
examples = [["Adventurer is approached by a mysterious stranger in the tavern for a new quest."]]
interface = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator",
description=description,
examples=examples
)
interface.launch()
您可以在这里玩Story Generation模型
在幕后,Gradio调用了支持Transformers以及其他流行的机器学习框架,如spaCy、SpeechBrain和Asteroid的推理API。该集成支持不同类型的模型,如image-to-text
、speech-to-text
、text-to-speech
等。您可以在此处查看此示例BigGAN ImageNet的text-to-image
模型。以下是实现代码。
import gradio as gr
description = "BigGAN text-to-image demo."
title = "BigGAN ImageNet"
interface = gr.Interface.load("huggingface/osanseviero/BigGAN-deep-128",
description=description,
title = title,
examples=[["american robin"]]
)
interface.launch()
在Hugging Face Spaces中使用Gradio提供自定义模型检查点
即使推理API不支持您的模型,您也可以在Spaces中提供您的模型。只需按照下面所述,在Gradio的Interface
中包装您的模型推理,并将其放入Spaces中。
混合和匹配模型!
使用Gradio Series,您可以混合和匹配不同的模型!在这里,我们将一个法语到英语的翻译模型放在故事生成器之上,将一个英语到法语的翻译模型放在生成器模型的末尾,以简单地制作一个法语故事生成器。
import gradio as gr
from gradio.mix import Series
description = "Generate your own D&D story!"
title = "French Story Generator using Opus MT and GPT-2"
translator_fr = gr.Interface.load("huggingface/Helsinki-NLP/opus-mt-fr-en")
story_gen = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator")
translator_en = gr.Interface.load("huggingface/Helsinki-NLP/opus-mt-en-fr")
examples = [["L'aventurier est approché par un mystérieux étranger, pour une nouvelle quête."]]
Series(translator_fr, story_gen, translator_en, description = description,
title = title,
examples=examples, inputs = gr.inputs.Textbox(lines = 10)).launch()
您可以在这里查看法语故事生成器
将您的模型上传到Spaces
您可以通过Spaces在Hugging Face上提供您的演示!要做到这一点,只需创建一个新的Space,然后拖放您的演示或使用Git。
在这里轻松构建您的第一个演示!