Sreenivas98's picture
Update app.py
e419c05 verified
# import gradio as gr
# import pickle
# from sklearn.neighbors import KNeighborsClassifier
# from sklearn.linear_model import LogisticRegression
# from keras.models import Sequential
# from keras.layers import Dense
# from sklearn.pipeline import Pipeline
# from sklearn.svm import LinearSVC
# from sklearn.tree import DecisionTreeClassifier
# from sklearn.ensemble import RandomForestClassifier
# import tensorflow as tf
# import sklearn
# import tensorflow
# from tensorflow import keras
# from tensorflow.keras.models import load_model
# input_1 = gr.Image(shape=(28,28),image_mode='L')
# input_2 = gr.Dropdown(["SoftMax", "KNN", "Deep Neural Network", "Decision Tree", "Random Forest"])
# output = gr.Label(num_top_classes=6)
# def predict_softmax(test_img):
# Softmax_model = pickle.load(open('softmax_model.pkl', 'rb'))
# predictions = Softmax_model.predict_proba(test_img)
# return {i: float(predictions[0][i]) for i in range(0,10)}
# def predict_knn(test_img):
# Knn_model = pickle.load(open('knn_model.pkl', 'rb'))
# predictions = Knn_model.predict_proba(test_img)
# return {i: float(predictions[0][i]) for i in range(0,10)}
# def predict_neural(test_img):
# Neural_model = load_model("deep_neural_model.h5")
# predictions = Neural_model.predict(test_img)
# return {i: float(predictions[0][i]) for i in range(0,10)}
# def predict_tree(test_img):
# tree_model = pickle.load(open('tree_clf.pkl', 'rb'))
# predictions = tree_model.predict_proba(test_img)
# return {i: float(predictions[0][i]) for i in range(0,10)}
# def predict_rf(test_img):
# rf_model = pickle.load(open('rf_clf.pkl', 'rb'))
# predictions = rf_model.predict_proba(test_img)
# return {i: float(predictions[0][i]) for i in range(0,10)}
# def predictDigitClass(test_img,chosen_model):
# test_img_flatten=test_img.reshape(-1,28*28)
# if chosen_model == "SoftMax":
# fashionProbs = predict_softmax(test_img_flatten)
# return fashionProbs
# elif chosen_model == "KNN":
# fashionProbs = predict_knn(test_img_flatten)
# return fashionProbs
# elif chosen_model == "Deep Neural Network":
# fashionProbs = predict_neural(test_img_flatten)
# return fashionProbs
# elif chosen_model == "SVM":
# fashionProbs = predict_svm(test_img_flatten)
# return fashionProbs
# elif chosen_model == "Decision Tree":
# fashionProbs = predict_tree(test_img_flatten)
# return fashionProbs
# elif chosen_model == "Random Forest":
# fashionProbs = predict_rf(test_img_flatten)
# return fashionProbs
# gr.Interface(fn=predictDigitClass,inputs=[input_1,input_2],outputs=output).launch(debug=True)
import gradio as gr
import pickle
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from keras.models import Sequential
from keras.layers import Dense
from sklearn.pipeline import Pipeline
from sklearn.svm import LinearSVC
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
import tensorflow as tf
from tensorflow.keras.models import load_model
input_1 = gr.Image(image_mode='L', type='numpy', preprocessing=lambda img: img.resize((28, 28)))
input_2 = gr.Dropdown(["SoftMax", "KNN", "Deep Neural Network", "Decision Tree", "Random Forest"])
output = gr.Label(num_top_classes=6)
def predict_softmax(test_img):
Softmax_model = pickle.load(open('softmax_model.pkl', 'rb'))
predictions = Softmax_model.predict_proba(test_img)
return {i: float(predictions[0][i]) for i in range(0, 10)}
def predict_knn(test_img):
Knn_model = pickle.load(open('knn_model.pkl', 'rb'))
predictions = Knn_model.predict_proba(test_img)
return {i: float(predictions[0][i]) for i in range(0, 10)}
def predict_neural(test_img):
Neural_model = load_model("deep_neural_model.h5")
predictions = Neural_model.predict(test_img)
return {i: float(predictions[0][i]) for i in range(0, 10)}
def predict_tree(test_img):
tree_model = pickle.load(open('tree_clf.pkl', 'rb'))
predictions = tree_model.predict_proba(test_img)
return {i: float(predictions[0][i]) for i in range(0, 10)}
def predict_rf(test_img):
rf_model = pickle.load(open('rf_clf.pkl', 'rb'))
predictions = rf_model.predict_proba(test_img)
return {i: float(predictions[0][i]) for i in range(0, 10)}
def predictDigitClass(test_img, chosen_model):
test_img_flatten = test_img.reshape(-1, 28*28)
if chosen_model == "SoftMax":
fashionProbs = predict_softmax(test_img_flatten)
return fashionProbs
elif chosen_model == "KNN":
fashionProbs = predict_knn(test_img_flatten)
return fashionProbs
elif chosen_model == "Deep Neural Network":
fashionProbs = predict_neural(test_img_flatten)
return fashionProbs
elif chosen_model == "Decision Tree":
fashionProbs = predict_tree(test_img_flatten)
return fashionProbs
elif chosen_model == "Random Forest":
fashionProbs = predict_rf(test_img_flatten)
return fashionProbs
gr.Interface(fn=predictDigitClass, inputs=[input_1, input_2], outputs=output).launch(debug=True)