28、利用FastAPI构建高效预测API与实时人脸检测系统

FastAPI构建实时人脸检测系统

利用FastAPI构建高效预测API与实时人脸检测系统

1. 使用Joblib缓存结果

在构建REST API时,我们可以使用Joblib来缓存预测结果,从而提高系统的性能。为了实现这一点,我们添加了一个 DELETE/cache 路由,用于通过HTTP请求清除整个Joblib缓存。以下是示例代码:

# chapter13_caching.py
@app.post("/prediction")
def prediction(
    output: PredictionOutput = Depends(newgroups_model.predict),
) -> PredictionOutput:
    return output

@app.delete("/cache", status_code=status.HTTP_204_NO_CONTENT)
def delete_cache():
    memory.clear()

上述代码中, memory.clear() 方法会移除磁盘上所有的Joblib缓存文件。当我们使用相同的输入进行两次请求时,第二次响应将显示缓存的结果。虽然在这个示例中,由于模型运行速度快,我们可能无法明显感受到执行时间的差异,但对于更复杂的模型,这种缓存机制会非常有用。

2. 标准函数与异步函数的选择

FastAPI支持异步I/O,这对应用程序的性能提升有很大帮助。但在某些情况下,我们可能无法使用异步函数。例如,Joblib是同步实现的,它在硬盘上进行读写缓存文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值