File size: 1,648 Bytes
813e048
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from PIL import Image
import tensorflow as tf
import streamlit as st
from deep_learning_pipeline import PredictionPipeline

st.title('Malaria Infected Cell Detection using X-ray Images')
st.write('This Project is built using CNN (Convolutional Neural Networks) Transfer Learning model that helps to predict whether the given X-ray image of the cell is Malaria Infected or Healthy!!')

st.write('')
st.write('')


uploaded_file = st.file_uploader("Upload an image", type=["png", "jpg", "jpeg"])

if uploaded_file is not None:
    # Process the uploaded image here
    with st.container():
        col1, col2 = st.columns([3, 2])
        col1.image(uploaded_file, caption="Uploaded Image", use_column_width=True)

        if st.button('Predict!!'):
            pipeline = PredictionPipeline()
            resnet152v2_y_pred, resnet152v2_y_probs = pipeline.predict(input_img=uploaded_file)
            col2.balloons()
            if resnet152v2_y_pred[0][0] == 1:
                col2.subheader('ResNET 152V2 model: ')
                col2.success(f'{pipeline.CLASS_NAMES[1]}')
                r_acc = '{:.2f}'.format(100*(resnet152v2_y_probs[0][0]))
                col2.success(f'Accuracy: {r_acc}%')
            elif resnet152v2_y_pred[0][0] == 0:
                col2.subheader('ResNET 152V2 model: ')
                col2.success(f'{pipeline.CLASS_NAMES[0]}')
                r_acc = '{:.2f}'.format(100*(1-resnet152v2_y_probs[0][0]))
                col2.success(f'Accuracy: {r_acc}%')

            elif resnet152v2_y_pred[[0]] == -1:
                col2.error('Error!! Model needs shape (224, 224, 3), but your image is of shape (224, 224,4)')