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