File size: 948 Bytes
443643e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a77b109
443643e
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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.components.Image(type="numpy"),
    outputs="text",
    live=True
)

# アプリケーションを起動
iface.launch()