|
|
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): |
|
|
|
|
|
|
|
|
model = load_model('keras_model.h5') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32) |
|
|
|
|
|
|
|
|
|
|
|
size = (224, 224) |
|
|
image = ImageOps.fit(image, size, Image.Resampling.LANCZOS) |
|
|
|
|
|
|
|
|
image_array = np.asarray(image) |
|
|
|
|
|
normalized_image_array = (image_array.astype(np.float32) / 127.0) - 1 |
|
|
|
|
|
data[0] = normalized_image_array |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
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']] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gr.Interface(fn=predict, |
|
|
inputs=gr.Image(type="pil", label="Input Image"), |
|
|
outputs=[gr.Label()], |
|
|
live=True, |
|
|
title=title, |
|
|
description=description, |
|
|
examples=examples).launch() |