import gradio as gr import tensorflow as tf import numpy as np # 事前訓練済みの画像分類モデルをロード model = tf.keras.applications.MobileNetV2(weights="imagenet") # 画像をモデルの入力形式に変換する関数 def preprocess_image(image): image = tf.image.resize(image, (224, 224)) image = tf.keras.applications.mobilenet_v2.preprocess_input(image) return np.expand_dims(image, axis=0) # 予測を実行し、結果を返す関数 def predict(image): image = preprocess_image(image) predictions = model.predict(image) decoded_predictions = tf.keras.applications.mobilenet_v2.decode_predictions(predictions, top=1) return decoded_predictions[0][0][1] # ラベルを返す # Gradioインターフェースの定義 iface = gr.Interface( fn=predict, inputs=gr.inputs.Image(type="numpy"), outputs="text", live=True ) # アプリケーションを起動 iface.launch()