Sreenivas98 commited on
Commit
e419c05
·
verified ·
1 Parent(s): 98246ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +111 -47
app.py CHANGED
@@ -1,3 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import gradio as gr
2
  import pickle
3
  from sklearn.neighbors import KNeighborsClassifier
@@ -9,61 +80,54 @@ from sklearn.svm import LinearSVC
9
  from sklearn.tree import DecisionTreeClassifier
10
  from sklearn.ensemble import RandomForestClassifier
11
  import tensorflow as tf
12
- import sklearn
13
- import tensorflow
14
- from tensorflow import keras
15
  from tensorflow.keras.models import load_model
16
 
17
- input_1 = gr.Image(shape=(28,28),image_mode='L')
18
-
19
  input_2 = gr.Dropdown(["SoftMax", "KNN", "Deep Neural Network", "Decision Tree", "Random Forest"])
20
-
21
  output = gr.Label(num_top_classes=6)
22
 
23
  def predict_softmax(test_img):
24
- Softmax_model = pickle.load(open('softmax_model.pkl', 'rb'))
25
- predictions = Softmax_model.predict_proba(test_img)
26
- return {i: float(predictions[0][i]) for i in range(0,10)}
27
-
28
  def predict_knn(test_img):
29
- Knn_model = pickle.load(open('knn_model.pkl', 'rb'))
30
- predictions = Knn_model.predict_proba(test_img)
31
- return {i: float(predictions[0][i]) for i in range(0,10)}
32
-
33
  def predict_neural(test_img):
34
- Neural_model = load_model("deep_neural_model.h5")
35
- predictions = Neural_model.predict(test_img)
36
- return {i: float(predictions[0][i]) for i in range(0,10)}
37
-
38
  def predict_tree(test_img):
39
- tree_model = pickle.load(open('tree_clf.pkl', 'rb'))
40
- predictions = tree_model.predict_proba(test_img)
41
- return {i: float(predictions[0][i]) for i in range(0,10)}
42
-
43
  def predict_rf(test_img):
44
- rf_model = pickle.load(open('rf_clf.pkl', 'rb'))
45
- predictions = rf_model.predict_proba(test_img)
46
- return {i: float(predictions[0][i]) for i in range(0,10)}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
- def predictDigitClass(test_img,chosen_model):
49
- test_img_flatten=test_img.reshape(-1,28*28)
50
- if chosen_model == "SoftMax":
51
- fashionProbs = predict_softmax(test_img_flatten)
52
- return fashionProbs
53
- elif chosen_model == "KNN":
54
- fashionProbs = predict_knn(test_img_flatten)
55
- return fashionProbs
56
- elif chosen_model == "Deep Neural Network":
57
- fashionProbs = predict_neural(test_img_flatten)
58
- return fashionProbs
59
- elif chosen_model == "SVM":
60
- fashionProbs = predict_svm(test_img_flatten)
61
- return fashionProbs
62
- elif chosen_model == "Decision Tree":
63
- fashionProbs = predict_tree(test_img_flatten)
64
- return fashionProbs
65
- elif chosen_model == "Random Forest":
66
- fashionProbs = predict_rf(test_img_flatten)
67
- return fashionProbs
68
-
69
- gr.Interface(fn=predictDigitClass,inputs=[input_1,input_2],outputs=output).launch(debug=True)
 
1
+ # import gradio as gr
2
+ # import pickle
3
+ # from sklearn.neighbors import KNeighborsClassifier
4
+ # from sklearn.linear_model import LogisticRegression
5
+ # from keras.models import Sequential
6
+ # from keras.layers import Dense
7
+ # from sklearn.pipeline import Pipeline
8
+ # from sklearn.svm import LinearSVC
9
+ # from sklearn.tree import DecisionTreeClassifier
10
+ # from sklearn.ensemble import RandomForestClassifier
11
+ # import tensorflow as tf
12
+ # import sklearn
13
+ # import tensorflow
14
+ # from tensorflow import keras
15
+ # from tensorflow.keras.models import load_model
16
+
17
+ # input_1 = gr.Image(shape=(28,28),image_mode='L')
18
+
19
+ # input_2 = gr.Dropdown(["SoftMax", "KNN", "Deep Neural Network", "Decision Tree", "Random Forest"])
20
+
21
+ # output = gr.Label(num_top_classes=6)
22
+
23
+ # def predict_softmax(test_img):
24
+ # Softmax_model = pickle.load(open('softmax_model.pkl', 'rb'))
25
+ # predictions = Softmax_model.predict_proba(test_img)
26
+ # return {i: float(predictions[0][i]) for i in range(0,10)}
27
+
28
+ # def predict_knn(test_img):
29
+ # Knn_model = pickle.load(open('knn_model.pkl', 'rb'))
30
+ # predictions = Knn_model.predict_proba(test_img)
31
+ # return {i: float(predictions[0][i]) for i in range(0,10)}
32
+
33
+ # def predict_neural(test_img):
34
+ # Neural_model = load_model("deep_neural_model.h5")
35
+ # predictions = Neural_model.predict(test_img)
36
+ # return {i: float(predictions[0][i]) for i in range(0,10)}
37
+
38
+ # def predict_tree(test_img):
39
+ # tree_model = pickle.load(open('tree_clf.pkl', 'rb'))
40
+ # predictions = tree_model.predict_proba(test_img)
41
+ # return {i: float(predictions[0][i]) for i in range(0,10)}
42
+
43
+ # def predict_rf(test_img):
44
+ # rf_model = pickle.load(open('rf_clf.pkl', 'rb'))
45
+ # predictions = rf_model.predict_proba(test_img)
46
+ # return {i: float(predictions[0][i]) for i in range(0,10)}
47
+
48
+ # def predictDigitClass(test_img,chosen_model):
49
+ # test_img_flatten=test_img.reshape(-1,28*28)
50
+ # if chosen_model == "SoftMax":
51
+ # fashionProbs = predict_softmax(test_img_flatten)
52
+ # return fashionProbs
53
+ # elif chosen_model == "KNN":
54
+ # fashionProbs = predict_knn(test_img_flatten)
55
+ # return fashionProbs
56
+ # elif chosen_model == "Deep Neural Network":
57
+ # fashionProbs = predict_neural(test_img_flatten)
58
+ # return fashionProbs
59
+ # elif chosen_model == "SVM":
60
+ # fashionProbs = predict_svm(test_img_flatten)
61
+ # return fashionProbs
62
+ # elif chosen_model == "Decision Tree":
63
+ # fashionProbs = predict_tree(test_img_flatten)
64
+ # return fashionProbs
65
+ # elif chosen_model == "Random Forest":
66
+ # fashionProbs = predict_rf(test_img_flatten)
67
+ # return fashionProbs
68
+
69
+ # gr.Interface(fn=predictDigitClass,inputs=[input_1,input_2],outputs=output).launch(debug=True)
70
+
71
+
72
  import gradio as gr
73
  import pickle
74
  from sklearn.neighbors import KNeighborsClassifier
 
80
  from sklearn.tree import DecisionTreeClassifier
81
  from sklearn.ensemble import RandomForestClassifier
82
  import tensorflow as tf
 
 
 
83
  from tensorflow.keras.models import load_model
84
 
85
+ input_1 = gr.Image(image_mode='L', type='numpy', preprocessing=lambda img: img.resize((28, 28)))
 
86
  input_2 = gr.Dropdown(["SoftMax", "KNN", "Deep Neural Network", "Decision Tree", "Random Forest"])
 
87
  output = gr.Label(num_top_classes=6)
88
 
89
  def predict_softmax(test_img):
90
+ Softmax_model = pickle.load(open('softmax_model.pkl', 'rb'))
91
+ predictions = Softmax_model.predict_proba(test_img)
92
+ return {i: float(predictions[0][i]) for i in range(0, 10)}
93
+
94
  def predict_knn(test_img):
95
+ Knn_model = pickle.load(open('knn_model.pkl', 'rb'))
96
+ predictions = Knn_model.predict_proba(test_img)
97
+ return {i: float(predictions[0][i]) for i in range(0, 10)}
98
+
99
  def predict_neural(test_img):
100
+ Neural_model = load_model("deep_neural_model.h5")
101
+ predictions = Neural_model.predict(test_img)
102
+ return {i: float(predictions[0][i]) for i in range(0, 10)}
103
+
104
  def predict_tree(test_img):
105
+ tree_model = pickle.load(open('tree_clf.pkl', 'rb'))
106
+ predictions = tree_model.predict_proba(test_img)
107
+ return {i: float(predictions[0][i]) for i in range(0, 10)}
108
+
109
  def predict_rf(test_img):
110
+ rf_model = pickle.load(open('rf_clf.pkl', 'rb'))
111
+ predictions = rf_model.predict_proba(test_img)
112
+ return {i: float(predictions[0][i]) for i in range(0, 10)}
113
+
114
+ def predictDigitClass(test_img, chosen_model):
115
+ test_img_flatten = test_img.reshape(-1, 28*28)
116
+ if chosen_model == "SoftMax":
117
+ fashionProbs = predict_softmax(test_img_flatten)
118
+ return fashionProbs
119
+ elif chosen_model == "KNN":
120
+ fashionProbs = predict_knn(test_img_flatten)
121
+ return fashionProbs
122
+ elif chosen_model == "Deep Neural Network":
123
+ fashionProbs = predict_neural(test_img_flatten)
124
+ return fashionProbs
125
+ elif chosen_model == "Decision Tree":
126
+ fashionProbs = predict_tree(test_img_flatten)
127
+ return fashionProbs
128
+ elif chosen_model == "Random Forest":
129
+ fashionProbs = predict_rf(test_img_flatten)
130
+ return fashionProbs
131
+
132
+ gr.Interface(fn=predictDigitClass, inputs=[input_1, input_2], outputs=output).launch(debug=True)
133