VenkateshRoshan
app.py updated
9c621dd
from flask import Flask, request, jsonify, render_template
from PIL import Image
import io
from infer import ImageCaptioningInference
from models.model import ImageCaptioningModel
app = Flask(__name__)
model_dir = 'model'
# Initialize inference class
model = ImageCaptioningModel()
model.load(model_dir)
inference_model = ImageCaptioningInference(model)
# # Path to the input image
# image_path = 'test_img.jpg'
# # Perform inference and print the generated caption
# caption = inference_model.infer_image(image_path)
# print("Generated Caption:", caption)
@app.route('/')
def home():
# return "Welcome to the Flask API"
return render_template('index.html')
@app.route('/upload-image', methods=['POST'])
def upload_image():
if 'image' not in request.files:
return jsonify({'error': 'No image found in request'})
image = request.files['image']
# print(image)
# try :
image = Image.open(io.BytesIO(image.read()))
# image.show()
generated_caption = inference_model.infer_image(image)
return jsonify({'generated_caption': generated_caption})
# except Exception as e:
# return jsonify({'error': f'{e}'}), 500
# if __name__ == '__main__':
# app.run(debug=True)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)