Upload app.py
Browse files
app.py
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import gradio as gr
|
| 2 |
+
|
| 3 |
+
def caption(image,input_module1):
|
| 4 |
+
instances_names = ["T-shirt/top", "Trouser", "Pullover", "Dress", "Coat",
|
| 5 |
+
"Sandal", "Shirt", "Sneaker", "Bag", "Ankle boot"]
|
| 6 |
+
image=image.reshape(1,28*28)
|
| 7 |
+
if input_module1=="KNN":
|
| 8 |
+
KNN_classifier = KNeighborsClassifier(n_neighbors=5, metric = 'euclidean')
|
| 9 |
+
output1=KNN_classifier.predict(image)[0]
|
| 10 |
+
predictions=KNN_classifier.predict_proba(image)[0]
|
| 11 |
+
|
| 12 |
+
elif input_module1==("Linear discriminant analysis"):
|
| 13 |
+
clf = LinearDiscriminantAnalysis()
|
| 14 |
+
output1=clf.predict(image)[0]
|
| 15 |
+
predictions=clf.predict_proba(image)[0]
|
| 16 |
+
|
| 17 |
+
elif input_module1==("Quadratic discriminant analysis"):
|
| 18 |
+
qda = QuadraticDiscriminantAnalysis()
|
| 19 |
+
output1=qda.predict(image)[0]
|
| 20 |
+
predictions=qda.predict_proba(image)[0]
|
| 21 |
+
|
| 22 |
+
elif input_module1=="Naive Bayes classifier":
|
| 23 |
+
gnb = GaussianNB()
|
| 24 |
+
output1=gnb.predict(image)[0]
|
| 25 |
+
predictions=gnb.predict_proba(image)[0]
|
| 26 |
+
|
| 27 |
+
output2 = {}
|
| 28 |
+
|
| 29 |
+
for i in range(len(predictions)):
|
| 30 |
+
output2[instances_names[i]] = predictions[i]
|
| 31 |
+
return output1 ,output2
|
| 32 |
+
|
| 33 |
+
input_module = gr.inputs.Image(label = "Input Image",image_mode="L",shape=(28,28))
|
| 34 |
+
input_module1 = gr.inputs.Dropdown(choices=["KNN","Linear discriminant analysis", "Quadratic discriminant analysis","Naive Bayes classifier"], label = "Method")
|
| 35 |
+
output1 = gr.outputs.Textbox(label = "Predicted Class")
|
| 36 |
+
output2=gr.outputs.Label(label= "probability of class")
|
| 37 |
+
gr.Interface(fn=caption, inputs=[input_module,input_module1], outputs=[output1,output2]).launch(debug=True)
|