pose_talking / app.py
mimimimimi's picture
Update app.py
38dc852 verified
from keras.models import load_model # TensorFlow is required for Keras to work
from PIL import Image, ImageOps # Install pillow instead of PIL
import numpy as np
import gradio as gr
import numpy as np
# from PIL import Image, ImageOps
# Load the model
model = load_model("keras_model.h5", compile=False)
# Load the labels
class_names = open("labels.txt", "r",encoding="utf-8").readlines()
def greet(img):
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
image = Image.fromarray(img).convert('RGB')
size = (224, 224)
image = ImageOps.fit(image, size, Image.ANTIALIAS)
image_array = np.asarray(image)
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1
data[0] = normalized_image_array
prediction = model.predict(data)
max_index = np.argmax(prediction) # 確率が一番高いインデクスを抽出
class_name = class_names[max_index]
return class_name[2:]
demo = gr.Interface(
fn=greet,
inputs=gr.Image(sources=["webcam"], streaming=True),
outputs="text",
)
# demo.launch(debug=True, share=True)
demo.launch()