Spaces:
Sleeping
Sleeping
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() |