見出し画像

Python - Gradioを使ってみよう! 2

Tensorflowを使って実行環境はColab、UIをGradioを使い、手書き認識をします。

モデルは以下のサイトを参考にしています。

コードは

gradioまずインストール。

!pip install gradio

次に以下を実行します。モデルは別で用意。

from tensorflow.python.keras.models import load_model
model = load_model('mnist-99.0-acc.h5')

これで学習済みモデル"mnist-99.0-acc.h5"が使えるようになります。

全コードです。Colabで実行します。tensorflow、kerasを使っています。

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.datasets import mnist
from tensorflow.python.keras.models import load_model

model = load_model('mnist-99.0-acc.h5')

def number_recognision(img):
    img = img[tf.newaxis,...,tf.newaxis]
    pred = model.predict(img / 255.0)[0]
    values, indices  = tf.math.top_k(pred, k=3)
    values = values.numpy().tolist()
    indices = indices.numpy().tolist()
    confidences = {str(i): v for i, v in zip(indices, values)}

    return confidences


import gradio as gr

gr.Interface(fn=number_recognision, 
             inputs="sketchpad",
             outputs="label",
            ).launch()

手書きで数字を書いて"送信"すると右側に判定が出てきます。この場合"1"と判断されています。いくつか数字を試しましたがうまく行ってるようです。

この記事が気に入ったらサポートをしてみませんか?