burcuonel's picture
Update app.py
7cdf0c7 verified
Raw
History Blame Contribute Delete
1.49 kB
import streamlit as st
from streamlit_drawable_canvas import st_canvas
import numpy as np
from tensorflow.keras.models import load_model
import os
# Hugging Face Spaces ortamında pip komutlarını çalıştırmak
os.system('pip install --upgrade tensorflow h5py')
# Başlık
st.title("El Yazısı Rakam Tanıma")
# Solda çizim kanvası
st.sidebar.header("Çizim Ayarları")
stroke_width = st.sidebar.slider("Fırça Kalınlığı:", 1, 25, 9)
bg_color = st.sidebar.color_picker("Arka Plan Rengi:", "#ffffff")
drawing_mode = st.sidebar.selectbox("Çizim Modu:", ("freehand", "line"))
# Çizim alanı
st.write("Soldaki alana bir sayı çizin (0-9):")
canvas_result = st_canvas(
fill_color="rgba(255, 165, 0, 0.3)", # Doldurma rengi
stroke_width=stroke_width,
background_color=bg_color,
height=200,
width=200,
drawing_mode=drawing_mode,
key="canvas",
)
# Sağda tahmin işlemi
if canvas_result.image_data is not None:
# Kanvastan alınan çizimi işleyelim
image = canvas_result.image_data[:, :, 3] # Sadece alfa kanalını alıyoruz (çizim)
image_resized = np.array(image)
image_resized = image_resized / 255.0 # Normalize et
image_resized = np.expand_dims(image_resized, axis=(0, -1)) # Model girişine uygun hale getir
# MNIST modelini yükle
model = load_model("mnist_model.h5")
print("Test modeli başarıyla yüklendi!")
# Sonucu göster
st.write("Tahmin edilen sayı:")
st.subheader(predicted_digit)