Pashtetuum's picture
Create app.py
23fd2ea verified
raw
history blame
1.58 kB
import os
import random
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.keras.models import load_model
from tensorflow.keras.preprocessing.image import load_img, img_to_array
#Загружаем модель
loaded_model = load_model('E:/Python/AutokerasOUT/image_classifier/best_model', custom_objects=ak.CUSTOM_OBJECTS)
# Загружаем label_encoder
with open('C:/Users/filim/Python/label_encoder.pkl', 'rb') as le_file:
label_encoder = pickle.load(le_file)
def translator(Defect):
translation_dict = {
"Crazing": "Трещины",
"Inclusion": "Вкрапления",
"Patches": "Пятна",
"Pitted": "Рябь",
"Rolled": "Замятие",
"Scratches": "Царапины"
}
return translation_dict.get(Defect)
def predict(loaded_img):
# Изменение размера изображения
img = cv2.resize(loaded_img, (200, 200))
# Добавление измерения пакета
img_array = np.expand_dims(img, axis=0)
# Предсказание класса
prediction = loaded_model.predict(img_array)
predicted_class = np.argmax(prediction)
decoded_class = label_encoder.inverse_transform([predicted_class])[0]
prediction=translator(decoded_class)
return prediction
interface = gr.Interface(
fn=predict,
inputs=gr.Image(),
outputs=gr.Textbox(label="Предсказанный класс"),
title="Нейронная сеть для классификации брака на металлопрокате"
)
interface.launch()