HuggingFace Hub スペース : Gradio スペース

HuggingFace Hub スペース : Gradio スペース (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 01/04/2023

* 本ページは、HuggingFace Hub Spaces の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Web: www.classcat.com  ;   ClassCatJP

 

 

HuggingFace Hub スペース : Gradio スペース

Gradio は入力のリストからモデルを実行して、画像, 音声, 3D オブジェクト 等 のような形式にある出力を表示するための簡単で直感的なインターフェイスを提供します。Gradio は今では Matplotlib, Bokeh と Plotly によるデータ可視化を作成するための Plot 出力コンポーネント さえも持ちます!詳細は、Gradio チームの Getting started ガイドを見てください。

新しいスペースを作成する とき Gradio を SDK として選択すると、README.md ファイルの YAML ブロックで sdk プロパティを gradio に設定することで Gradio の最新版でスペースを初期化します。Gradio バージョンを変更したい場合には、sdk_version プロパティを編集できます。

Gradio ドキュメント にアクセスして機能すべてについて学習し、貴方が始めるのを助ける幾つかの手軽なチュートリアルのために Gradio ガイド を確認してください!

 

初めての Gradio スペース: ホットドッグ分類器

以下のセクションでは、スペースの作成、その設定、そして貴方のコードをそれに配備する基本を学習します。私たちは Gradio で ホットドッグ分類器 スペースを作成します、これは与えられた写真がホットドッグ🌭 を含むかを検出可能な julien-c/hotdog-not-hotdog モデルを実演するために使用されます。

NimaBoscarino/hotdog-gradio にホストされている、これの完成版を見つけることができます。

 

新しい Gradio スペースの作成

まったく 新しいスペースを作成 して SDK として Gradio を選択することから始めます。Hugging Face スペースは Git レポジトリです、つまりコミットをプッシュすることにより貴方のスペースで徐々に (そして共同的に) 作業できます。続ける前に、Getting Started with レポジトリ ガイドを見てファイルを作成して編集できる方法を学習してください。

 

依存関係の追加

ホットドッグ分類器について、モデルを使用するために 🤗 Transformers パイプライン を使用していきますので、2, 3 の依存関係をインストールすることから始める必要があります。これはレポジトリに requirements.txt ファイルを作成して、次の依存関係をそれに追加することで行なうことができます :

transformers
torch

スペースのランタイムは依存関係のインストールを処理します!

 

Gradio インターフェイスの作成

Gradio アプリケーションを作成するために、レポジトリに app.py という名前の新しいファイルを作成して、以下のコードを追加します :

import gradio as gr
from transformers import pipeline

pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")

def predict(image):
  predictions = pipeline(image)
  return {p["label"]: p["score"] for p in predictions}

gr.Interface(
    predict,
    inputs=gr.inputs.Image(label="Upload hot dog candidate", type="filepath"),
    outputs=gr.outputs.Label(num_top_classes=2),
    title="Hot Dog? Or Not?",
).launch()

この Python スクリプトは Gradio インターフェイスにより使用される julien-c/hotdog-not-hotdog モデルをロードするために 🤗 Transformers パイプライン を使用します。Gradio アプリケーションは画像をアップロードすることを想定し、それをホットドッグであるか否かを分類します。コードを app.py ファイルにセーブしたら、App タブにアクセスしてアプリケーションを実際に見ることができます!

 

 

他の web ページに Gradio スペースを埋め込む

Web コンポーネントか HTML <iframe> タグのいずれかを使用して他の web ページに Gradio スペースを埋め込むことができます。詳細は 私たちのドキュメントGradio ドキュメント を確認してください。

 

以上