Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import tensorflow as tf | |
| import numpy as np | |
| from PIL import Image | |
| MODEL_PATH = "src/flower_model.keras" | |
| IMAGE_SIZE = 224 | |
| # DOĞRU 104 class sırası | |
| class_names = sorted([ | |
| "pink primrose","hard-leaved pocket orchid","canterbury bells", | |
| "sweet pea","english marigold","tiger lily","moon orchid", | |
| "bird of paradise","monkshood","globe thistle", | |
| "snapdragon","colt's foot","king protea","spear thistle", | |
| "yellow iris","globe-flower","purple coneflower", | |
| "peruvian lily","balloon flower","giant white arum lily", | |
| "fire lily","pincushion flower","fritillary","red ginger", | |
| "grape hyacinth","corn poppy","prince of wales feathers", | |
| "stemless gentian","artichoke","sweet william", | |
| "carnation","garden phlox","love in the mist","mexican aster", | |
| "alpine sea holly","ruby-lipped cattleya","cape flower", | |
| "great masterwort","siam tulip","lenten rose", | |
| "barbeton daisy","daffodil","sword lily","poinsettia", | |
| "bolero deep blue","wallflower","marigold","buttercup", | |
| "oxeye daisy","common dandelion","petunia","wild pansy", | |
| "primula","sunflower","pelargonium","bishop of llandaff", | |
| "gaura","geranium","orange dahlia","pink-yellow dahlia", | |
| "cautleya spicata","japanese anemone","black-eyed susan", | |
| "silverbush","californian poppy","osteospermum", | |
| "spring crocus","iris","windflower","tree poppy", | |
| "gazania","azalea","water lily","rose", | |
| "thorn apple","morning glory","passion flower","lotus", | |
| "toad lily","anthurium","frangipani","clematis", | |
| "hibiscus","columbine","desert-rose","tree mallow", | |
| "magnolia","cyclamen","watercress","canna lily", | |
| "hippeastrum","bee balm","ball moss","foxglove", | |
| "bougainvillea","camellia","mallow","mexican petunia", | |
| "bromelia","blanket flower","trumpet creeper","blackberry lily" | |
| ]) | |
| def load_model(): | |
| return tf.keras.models.load_model(MODEL_PATH) | |
| model = load_model() | |
| st.title("🌸 Flower Classifier") | |
| uploaded_file = st.file_uploader("Upload an image", type=["jpg","jpeg","png"]) | |
| if uploaded_file: | |
| image = Image.open(uploaded_file).convert("RGB") | |
| st.image(image, use_container_width=True) | |
| image = image.resize((IMAGE_SIZE, IMAGE_SIZE)) | |
| img_array = np.array(image) / 255.0 # Eğitimde bunu kullanmıştık | |
| img_array = np.expand_dims(img_array, axis=0) | |
| prediction = model.predict(img_array) | |
| predicted_index = int(np.argmax(prediction)) | |
| confidence = float(np.max(prediction)) | |
| st.write("Predicted index:", predicted_index) | |
| flower_name = class_names[predicted_index] | |
| st.success(f"🌼 Prediction: {flower_name}") | |
| st.info(f"Confidence: {confidence:.2%}") | |