Spaces:
Sleeping
Sleeping
| #import library | |
| import pandas as pd | |
| import numpy as np | |
| import streamlit as st | |
| from tensorflow.keras.preprocessing.image import load_img, img_to_array | |
| from tensorflow_hub.keras_layer import KerasLayer | |
| import tensorflow as tf | |
| from tensorflow.keras.models import load_model | |
| #import pickle | |
| import pickle | |
| #load model | |
| def run(): | |
| file = st.file_uploader("Upload an image", type=["jpg", "png"]) | |
| model = load_model('src/my_model.keras', custom_objects={'KerasLayer': KerasLayer}) | |
| target_size=(224, 224) | |
| def import_and_predict(image_data, model): | |
| image = load_img(image_data, target_size=(224, 224)) | |
| img_array = img_to_array(image) | |
| img_array = tf.expand_dims(img_array, 0) # Create a batch | |
| # Normalize the image | |
| img_array = img_array / 255.0 | |
| # Make prediction | |
| predictions = model.predict(img_array) | |
| # Get the class with the highest probability | |
| idx = np.where(predictions >= 0.5, 1, 0).item() | |
| # predicted_class = np.argmax(predictions) | |
| jenis = ['Brain Tumor', 'Healthy'] | |
| result = f"Prediction: {jenis[idx]}" | |
| return result | |
| if file is None: | |
| st.text("Please upload an image file") | |
| else: | |
| result = import_and_predict(file, model) | |
| st.image(file) | |
| st.write(result) | |
| if __name__ == "__main__": | |
| run() |