import fastapi from transformers import pipeline import pickle # Load the model from the pickle file with open("model_finetuned.pkl", "rb") as f: model = pickle.load(f) # Define a function to preprocess the image def preprocess_image(image): # Resize the image to a fixed size image = image.resize((224, 224)) # Convert the image to a NumPy array image = np.array(image) # Normalize the image image = image / 255.0 # Return the image return image # Define an endpoint to predict the output @app.post("/predict") async def predict_endpoint(image: fastapi.File): # Preprocess the image image = preprocess_image(image) # Make a prediction prediction = model(image) # Return the prediction return {"prediction": prediction} # Start the FastAPI app if _name_ == "_main_": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8000)