CoolFace
Apppublic

KaviyaPrem/Deep_Learning

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py79 linesDownload Raw Back to root
1import streamlit as st2import numpy as np3from PIL import Image4from tensorflow.keras.models import load_model5from tensorflow.keras.datasets import imdb6from tensorflow.keras.preprocessing.sequence import pad_sequences7import pickle8 9# Load word index for Sentiment Classification10word_to_index = imdb.get_word_index()11 12# Function to perform sentiment classification13def sentiment_classification(new_review_text, model):14    max_review_length = 50015    new_review_tokens = [word_to_index.get(word, 0) for word in new_review_text.split()]16    new_review_tokens = pad_sequences([new_review_tokens], maxlen=max_review_length)17    prediction = model.predict(new_review_tokens)18    if type(prediction) == list:19        prediction = prediction[0]20    return "Positive" if prediction > 0.5 else "Negative"21 22# Function to perform tumor detection23def tumor_detection(img, model):24    img = Image.open(img)25    img=img.resize((128,128))26    img=np.array(img)27    input_img = np.expand_dims(img, axis=0)28    res = model.predict(input_img)29    return "Tumor Detected" if res else "No Tumor"30 31# Streamlit App32st.title("Deep Learning Prediction")33 34# Choose between tasks35task = st.radio("Select Task", ("Sentiment Classification", "Tumor Detection"))36 37if task == "Sentiment Classification":38    # Input box for new review39    new_review_text = st.text_area("Enter a New Review:", value="")40    if st.button("Submit") and not new_review_text.strip():41        st.warning("Please enter a review.")42 43    if new_review_text.strip():44        st.subheader("Choose Model for Sentiment Classification")45        model_option = st.selectbox("Select Model", ("Perceptron", "Backpropagation", "DNN", "RNN", "LSTM"))46 47        # Load models dynamically based on the selected option48        if model_option == "Perceptron":49            with open('PP.pkl', 'rb') as file:50                model = pickle.load(file)51        elif model_option == "Backpropagation":52            with open('BP.pkl', 'rb') as file:53                model = pickle.load(file)54        elif model_option == "DNN":55            model = load_model('DP.h5')56        elif model_option == "RNN":57            model = load_model('RN.h5')58        elif model_option == "LSTM":59            model = load_model('LS.keras')60 61        if st.button("Classify Sentiment"):62            result = sentiment_classification(new_review_text, model)63            st.subheader("Sentiment Classification Result")64            st.write(f"**{result}**")65 66elif task == "Tumor Detection":67    st.subheader("Tumor Detection")68    uploaded_file = st.file_uploader("Choose a tumor image...", type=["jpg", "jpeg", "png"])69 70    if uploaded_file is not None:71        # Load the tumor detection model72        model = load_model('CN.h5')73        st.image(uploaded_file, caption="Uploaded Image.", use_column_width=False, width=200)74        st.write("")75 76        if st.button("Detect Tumor"):77            result = tumor_detection(uploaded_file, model)78            st.subheader("Tumor Detection Result")79            st.write(f"**{result}**")