Gradioを使用して、Spacesで自分のプロジェクトをショーケースしましょう

Let's showcase your project on Spaces using Gradio.

Gradioを利用することで、機械学習プロジェクトを簡単にデモンストレーションすることができます。

このブログ記事では、以下の内容について説明します:

  • 最近のGradioの統合により、Inference APIを活用してHubからモデルをシームレスにデモンストレーションする方法
  • Hugging Face Spacesを使用して、独自のモデルのデモをホストする方法

GradioでのHugging Face Hub統合

Hubでモデルを簡単にデモンストレーションすることができます。以下を含むインターフェースを定義するだけでOKです:

  • 推論を行いたいモデルのリポジトリID
  • 説明とタイトル
  • オーディエンスをガイドするための入力例

インターフェースを定義したら、.launch()を呼び出すだけでデモが開始されます。これはColabで行うこともできますが、コミュニティと共有する場合はSpacesを使用するのがおすすめです!

SpacesはPythonでMLデモアプリを簡単にホストするための無料の方法です。Spacesを使用するには、https://huggingface.co/new-space にリポジトリを作成し、SDKとしてGradioを選択します。作業が完了すると、app.pyというファイルを作成し、下のコードをコピーするだけで、数秒でアプリを起動できます!

import gradio as gr

description = "GPT-2によるストーリー生成"
title = "独自のストーリーを生成する"
examples = [["冒険者が酒場で謎の見知らぬ人から新たなクエストを持ちかけられる。"]]

interface = gr.Interface.load("huggingface/pranavpsv/gpt2-genre-story-generator",
            description=description,
            examples=examples
)

interface.launch()

ここでストーリー生成モデルを試すことができます

Gradioは内部でInference APIを呼び出し、spaCy、SpeechBrain、Asteroidなどの他の人気のあるMLフレームワークとTransformersをサポートしています。この統合では、image-to-textspeech-to-texttext-to-speechなど、さまざまなタイプのモデルをサポートしています。例として、BigGAN ImageNetのtext-to-imageモデルを以下で確認できます。実装は以下の通りです。

import gradio as gr
description = "BigGANによるテキストから画像へのデモ"
title = "BigGAN ImageNet"
interface = gr.Interface.load("huggingface/osanseviero/BigGAN-deep-128", 
            description=description,
            title = title,
            examples=[["アメリカンロビン"]]
)
interface.launch()

Hugging Face SpacesでGradioを使用してカスタムモデルのチェックポイントを提供する

Inference APIがモデルをサポートしていない場合でも、Spacesでモデルを提供することができます。以下に説明するように、GradioのInterfaceでモデルの推論をラップし、Spacesに配置するだけです。

モデルのミックス&マッチ!

Gradio Seriesを使用することで、さまざまなモデルをミックス&マッチすることができます!ここでは、フランス語から英語への翻訳モデルをストーリージェネレータの上に配置し、英語からフランス語への翻訳モデルをジェネレータモデルの最後に配置して、フランス語のストーリージェネレータを作成しています。

import gradio as gr
from gradio.mix import Series

description = "独自のD&Dストーリーを生成する!"
title = "Opus MTと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で提供することができます!これを行うには、単に新しいスペースを作成し、デモをドラッグ&ドロップするか、Gitを使用します。

Spacesで最初のデモを簡単に作成できます!こちらでお試しください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

「Seerの最高データオフィサーであるDr. Serafim Batzoglouによるインタビューシリーズ」

セラフィム・バツォグルはSeerのチーフデータオフィサーですSeerに加わる前は、セラフィムはInsitroのチーフデータオフィサー...

人工知能

ギル・ジェロン、Orca SecurityのCEO&共同創設者-インタビューシリーズ

ギル・ゲロンは、オルカ・セキュリティのCEO兼共同設立者ですギルは20年以上にわたりサイバーセキュリティ製品をリードし、提...

機械学習

「機械学習 vs AI vs ディープラーニング vs ニューラルネットワーク:違いは何ですか?」

テクノロジーの急速な進化は、ビジネスが効率化のために洗練されたアルゴリズムにますます頼ることで、私たちの日常生活を形...

人工知能

「Ami Hever、UVeyeの共同創設者兼CEO - インタビューシリーズ」

עמיר חבר הוא המנכל והמייסד של UVeye, סטארט-אפ ראיה ממוחשבת בלמידה עמוקה, המציבה את התקן הגלובלי לבדיקת רכבים עם זיהוי...

データサイエンス

「3つの質問:ロボットの認識とマッピングの研磨」

MIT LIDSのLuca CarloneさんとJonathan Howさんは、将来のロボットが環境をどのように知覚し、相互作用するかについて議論し...

人工知能

ジョシュ・フィースト、CogitoのCEO兼共同創業者 - インタビューシリーズ

ジョシュ・フィーストは、CogitoのCEO兼共同創業者であり、感情と会話AIを組み合わせた革新的なプラットフォームを提供するエ...