File size: 903 Bytes
29c50fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 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)