Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import tensorflow as tf | |
| import numpy as np | |
| from tensorflow.keras.preprocessing import image | |
| from tensorflow.keras.applications.efficientnet import preprocess_input | |
| #from tensorflow.keras.applications.resnet50 import preprocess_input | |
| import plotly.express as px | |
| # model yükle | |
| model = tf.keras.models.load_model("efficent_netB7.h5") | |
| # Etiketler | |
| waste_labels = {0: 'Fibres', 1: 'Nanowires', 2: 'Particles', 3: 'Powder'} | |
| # uygulama yükle | |
| st.title("SEM Görüntü Sınıflandırma Uygulaması | ") | |
| st.write("Lütfen bir SEM görüntüsü yükleyin. - (Fibres, Nanowires, Powder,Particles)") | |
| # giriş yap | |
| uploaded_image = st.file_uploader("SEM Görüntüsünü Yükleyin", type=["jpg", "png", "jpeg"]) | |
| # resim işleme | |
| if uploaded_image is not None: | |
| # Görüntüyü modelin girdi boyutuna yeniden boyutlandırın | |
| img = image.load_img(uploaded_image, target_size=(600, 600)) | |
| img = image.img_to_array(img) | |
| img = np.expand_dims(img, axis=0) | |
| img = preprocess_input(img) | |
| # tahmin | |
| prediction = model.predict(img) | |
| predicted_class = np.argmax(prediction) | |
| # Sonuç | |
| st.image(uploaded_image, caption='Yüklenen Görüntü', use_column_width=True) | |
| st.write(f"Tahmin Edilen Sınıf: {waste_labels[predicted_class]}") | |
| # görselleştirme | |
| st.write("Tahmin İhtimalleri:") | |
| labels = list(waste_labels.values()) | |
| probabilities = prediction[0] * 100 # İhtimalleri yüzde olarak hesapla | |
| # Çubuk grafik | |
| fig_bar = px.bar(x=labels, y=probabilities, labels={'x': 'Sınıf', 'y': 'Yüzde (%)'}, | |
| title="Tahmin İhtimalleri (Çubuk Grafik)") | |
| st.plotly_chart(fig_bar) | |
| # Pasta grafiği | |
| fig_pie = px.pie(values=probabilities, names=labels, title="Tahmin İhtimalleri (Pasta Grafiği)") | |
| st.plotly_chart(fig_pie) |