この記事の最終更新日: 2023年6月4日

Gradioは、モデルの対話型インターフェースを簡単に作成できるオープンソースのPythonライブラリです。以下にGradioのローカル環境での実行方法と本番環境へのデプロイ手順について説明します。
ローカル環境での実行方法
Gradioをインストール
最初に、Python環境にGradioをpipコマンドでインストールします。
pip install gradio
サンプルコードで使用する、tensorflowもインストールしておきます。
pip install tensorflow
インターフェースを作成
次に、Gradioを使用してモデルのインターフェースを作成します。この例では、画像を入力し、ラベリングアプリを作成しています。
import gradio as gr
import tensorflow as tf
import numpy as np
from tensorflow.keras.applications.inception_v3 import InceptionV3, decode_predictions
# モデルをロードします
model = InceptionV3(weights='imagenet')
def classify_image(inp):
inp = inp.reshape((-1, 299, 299, 3))
inp = tf.keras.applications.inception_v3.preprocess_input(inp)
prediction = model.predict(inp)
# 最も確率の高い上位3つのクラス名とその確率を取得
decoded_predictions = decode_predictions(prediction, top=3)[0]
return {pred[1]: float(pred[2]) for pred in decoded_predictions}
image = gr.inputs.Image(shape=(299, 299))
label = gr.outputs.Label(num_top_classes=3)
gr.Interface(fn=classify_image, inputs=image, outputs=label).launch()
ローカルで実行: 上記のコードをPythonファイル(例えば、app.py
)として保存し、以下のコマンドを実行します。
python app.py
本番環境へのデプロイ手順
Gradio Hubを使えば、作成したGradioアプリケーションを簡単にデプロイすることができます。以下の手順に従ってデプロイを行います。
- Gradio Hubにログイン: 最初に、Gradio Hub(https://hub.gradio.app/)にログインします。アカウントがない場合は、新規に作成します。
- 新しいインターフェースを作成: ダッシュボードから「New Interface」ボタンをクリックして新しいインターフェースを作成します。
- コードをアップロード: GradioインターフェースのPythonコード(先ほどの
app.py
など)をアップロードします。 - インターフェースを設定: インターフェースの詳細(名前、説明、カテゴリなど)を
- 入力してください。また、必要に応じて、公開範囲を設定することもできます(公開、非公開、パスワード保護など)。
- デプロイ: 全ての設定が完了したら、「Deploy」ボタンをクリックします。これにより、インターフェースがGradio Hubにデプロイされ、生成されたURLを通じてアクセスできるようになります。
- 以上がGradioのローカル環境での実行方法と本番環境へのデプロイ手順です。あなたのAIモデルをより使いやすく、アクセスしやすくするために、Gradioを活用してみてください。

大阪のエンジニアが書いているブログ。
コメント