Spaces:
Sleeping
Sleeping
File size: 3,566 Bytes
1eebc45 6ea82b1 1eebc45 a8b4012 1eebc45 f62790a 12a3d1b 1eebc45 28fb1f0 249c24f 12a3d1b 5dba2ed 249c24f 0988266 12a3d1b 249c24f 75eae57 249c24f 0988266 bcaa4d3 b8fdee4 249c24f 2c6e3b0 249c24f b8fdee4 249c24f b8fdee4 0eb0dd3 249c24f f1bad2e b8fdee4 d7fd16e 73d9063 249c24f 10eff77 249c24f f1bad2e b8fdee4 d7fd16e 249c24f 73d9063 249c24f f9ec56b b8fdee4 8ee0fcb f9ec56b |
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# -*- coding: utf-8 -*-
# %%capture
# #Use capture to not show the output of installing the libraries!
#model_multi = tf.keras.models.load_model("densenet")
# define the labels for the multi-label classification model
#labels_multi = {0: 'healthy', 1: 'mild', 2: 'moderate'}
#model = tf.keras.models.load_model('/content/drive/MyDrive/project_image_2023_NO/saved_models/saved_model/densenet')
#labels = ['Healthy', 'Patient']
#labels = {0: 'healthy', 1: 'patient'}
import gradio as gr
import requests
import torch
import torch.nn as nn
from PIL import Image
from torchvision.models import resnet50
from torchvision.transforms import functional as F
import numpy as np
import tensorflow as tf
from transformers import pipeline
from tensorflow.keras.preprocessing import image as image_utils
from tensorflow.keras.applications import densenet, efficientnet
import tensorflow as tf
import gradio as gr
# load the CNN binary classification model
model_cnn = tf.keras.models.load_model("CNN_binary")
# define the labels for the binary classification model
labels_cnn = {0: 'Healthy', 1: 'Patients'}
# load the EfficientNet binary classification model
model_efn = tf.keras.models.load_model("efficientNet_binary")
# define the labels for the binary classification model
labels_efn = {0: 'Healthy', 1: 'Patients'}
#def classify_cnn(inp):
#inp = inp.reshape((-1, 224, 224, 3))
#inp = tf.keras.applications.densenet.preprocess_input(inp)
#prediction = model_cnn.predict(inp)
#confidences = {labels_cnn[i]: float(prediction[0][i]) for i in range(2)}
#return confidences
#def classify_efn(inp):
#inp = inp.reshape((-1, 224, 224, 3))
#inp = tf.keras.applications.efficientnet.preprocess_input(inp)
#prediction = model_efn.predict(inp)
#confidences = {labels_efn[i]: float(prediction[0][i]) for i in range(2)}
#return confidences
def classify_cnn(inp):
inp = inp.reshape((-1, 224, 224, 3))
inp = tf.keras.applications.densenet.preprocess_input(inp)
prediction = model_cnn.predict(inp)
class_index = np.argmax(prediction, axis=-1)[0]
return labels_cnn[class_index]
def classify_efn(inp):
inp = inp.reshape((-1, 224, 224, 3))
inp = tf.keras.applications.efficientnet.preprocess_input(inp)
prediction = model_efn.predict(inp)
class_index = np.argmax(prediction, axis=-1)[0]
return labels_efn[class_index]
binary_interface_cnn = gr.Interface(fn=classify_cnn,
inputs=gr.Image(shape=(224, 224)),
#outputs=gr.Label(num_top_classes=2),
outputs=gr.outputs.Textbox(),
title="Binary Image Classification",
description="Classify an image as healthy or patient using custom CNN.",
examples=[['3310277.png'],['371129.png']]
)
binary_interface_efn = gr.Interface(fn=classify_efn,
inputs=gr.Image(shape=(224, 224)),
#outputs=gr.Label(num_top_classes=2),
outputs=gr.outputs.Textbox(),
title="Binary Image Classification",
description="Classify an image as healthy or patient using EfficientNet.",
examples=[['3310277.png'],['371129.png']]
)
demo = gr.TabbedInterface([binary_interface_cnn, binary_interface_efn], ["Custom CNN", "CNN"])
demo.launch() |