File size: 1,010 Bytes
4411082 |
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 |
from flask import Flask, request, jsonify
import tensorflow as tf
import numpy as np
import cv2
import base64
app = Flask(__name__)
# Load the ML model
model = tf.keras.models.load_model("model.h5")
# Function to decode base64 image
def decode_image(image_data):
image_bytes = base64.b64decode(image_data)
image_np = np.frombuffer(image_bytes, dtype=np.uint8)
image = cv2.imdecode(image_np, cv2.IMREAD_COLOR)
image = cv2.resize(image, (224, 224)) # Adjust based on your model
image = image / 255.0 # Normalize if needed
return image.reshape(1, 224, 224, 3)
# API endpoint for prediction
@app.route('/predict', methods=['POST'])
def predict():
try:
data = request.json['image']
image = decode_image(data)
prediction = model.predict(image).tolist()
return jsonify({'prediction': prediction})
except Exception as e:
return jsonify({'error': str(e)})
if __name__ == '__main__':
app.run(debug=True)
|