File size: 1,180 Bytes
46d00bc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import os
import numpy as np
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import load_model
from PIL import Image
from flask import Flask, request, jsonify

app = Flask(__name__)
model = None
class_dict = None

def load_saved_model():
    global model
    global class_dict
    model = load_model("path/to/your/saved/model.h5")  # Update with the actual path to your saved model
    class_dict = {0: "Class 1", 1: "Class 2", 2: "Class 3"}  # Update with the actual class names

@app.route("/predict", methods=["POST"])
def predict():
    if "image" not in request.files:
        return jsonify({"error": "No image found in the request."}), 400
    
    image = request.files["image"]
    image = Image.open(image)
    image = image.resize((75, 75))
    image = np.array(image) / 255.0
    image = np.expand_dims(image, axis=0)
    
    prediction = model.predict(image)
    class_id = np.argmax(prediction)
    class_name = class_dict.get(class_id, "Unknown")
    
    return jsonify({"class_id": class_id, "class_name": class_name}), 200

if __name__ == "__main__":
    load_saved_model()
    app.run()