panthera / app.py
panda1835's picture
Update app.py
454e012
from keras.models import load_model
from PIL import Image, ImageOps
import numpy as np
import gradio as gr
import pandas as pd
def format_label(label):
"""
From '0 class 1\n' to 'class 1'
"""
return label[label.find(" ")+1:-1]
def predict(image):
# Load the model
model = load_model('keras_model.h5')
# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
#resize the image to a 224x224 with the same strategy as in TM2:
#resizing the image to be at least 224x224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.Resampling.LANCZOS)
#turn the image into a numpy array
image_array = np.asarray(image)
# Normalize the image
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1
# Load the image into the array
data[0] = normalized_image_array
# run the inference
pred = model.predict(data)
pred = pred.tolist()
with open('labels.txt','r') as f:
labels = f.readlines()
result = {format_label(labels[i]): round(pred[0][i],2) for i in range(len(pred[0]))}
return result
############################################################################
# ***************START OF YOUR INPUT***************
description="""
Báo đốm, báo ghê-pa và báo hoa mai là ba loài báo có sự đa dạng và sự quyến rũ riêng của chúng. Báo đốm là một loài báo nhỏ, nổi bật với bộ lông màu vàng nâu và những đốm đen tạo nên một mẫu hoa văn hấp dẫn trên lưng. Với thân hình nhỏ gọn và đôi tai nhọn, báo đốm trở nên dễ dàng camouflaged trong môi trường xung quanh.
Báo ghê-pa, một loài báo kích thước trung bình, mang đến một cái nhìn mạnh mẽ và uy nghiêm. Với bộ lông màu cam nâu và các sọc đen đặc trưng trải dọc theo cơ thể, báo ghê-pa tạo nên một vẻ ngoài sắc sảo. Điểm đặc biệt của nó là vằn đen táo bạo trên mặt và đôi tai nhọn, tạo nên một hình ảnh ấn tượng.
Báo hoa mai là một trong những loài báo lớn nhất, toả sáng với màu lông cam tươi tắn và các vằn đen tạo thành hình vòng cung tuyệt đẹp trên cơ thể. Báo hoa mai có vẻ ngoài mạnh mẽ, với cơ thể lớn và đầu mảnh mai, nó truyền tải sự mạnh mẽ và uy quyền.
Ba loài báo này đều có sự đặc trưng riêng biệt trong cách chúng xuất hiện và tạo nên một phong cách riêng. Với vẻ đẹp và sự quý hiếm, báo đốm, báo ghê-pa và báo hoa mai là những sinh vật hấp dẫn trong thế giới tự nhiên, góp phần làm giàu sự đa dạng của chúng ta.
"""
title = """
Báo này Báo gì 🐆
"""
examples = [['example1.jpg'], ['example2.jpg'], ['example3.jpg']]
# ***************END OF YOUR INPUT***************
############################################################################
gr.Interface(fn=predict,
inputs=gr.Image(type="pil", label="Input Image"),
outputs=[gr.Label()],
live=True,
title=title,
description=description,
examples=examples).launch()