CNN / app.py
Gaykar's picture
Update app.py
5ca004f verified
Raw
History Blame Contribute Delete
707 Bytes
import asyncio # Built-in, no pip install needed!
from fastapi import FastAPI, UploadFile, File
from cnnmodels import classify_tumor
app = FastAPI(title="Brain Tumor CNN Service")
@app.post("/classify")
async def classify(file: UploadFile = File(...)):
# 1. This reads the file asynchronously on the Main Event Loop
image_bytes = await file.read()
# 2. Get the running manager (Event Loop)
loop = asyncio.get_running_loop()
# 3. Offload the heavy CNN model to the background thread pool
# None tells Python to use FastAPI's default pool of worker threads
result = await loop.run_in_executor(None, classify_tumor, image_bytes)
return result