在10分钟内通过REST API提供机器学习模型

停止将模型留在笔记本电脑上。通过这种快速而强大的设置将它们服务于世界。

来源:KDnuggets
作者的图像| canva

如果您喜欢构建机器学习模型并尝试使用新内容,那真的很酷 - 但老实说,只有一旦您将其提供给他们,它才会对其他人有用。为此,您需要服务 - 通过Web API将其曝光,以便其他程序(或人类)可以发送数据并获得预测。那就是REST API的来源。

在本文中,您将了解我们将如何从简单的机器学习模型到使用FastApi的API,这是Python最快,最快,最适合开发人员的网络框架之一,不到10分钟。而且,我们不仅会停止进行“ Make It Run”演示,而且还会添加以下内容:

    验证传入的数据对每个请求的背景任务,以避免慢速处理错误
  • 验证传入数据
  • 记录每个请求
  • 添加背景任务以避免放缓
  • 优雅处理错误
  • 所以,让我快速向您展示我们的项目结构在转到代码部分之前的样子:

    ml-api/
    │
    ├ - 型/
    ││└prain_model.py#脚本训练并保存模型
    │││站iris_model.pkl#训练有素的模型文件
    │
    ├ - 应用/
    ││└└-main.py#fastapi应用程序
    shema.py##使用Pydantic输入数据架构架构
    │
    ├─—需求.txt#所有依赖关系
    └└─md.md#可选文档

    步骤1:安装您需要的内容

    我们将需要一些Python包装来进行此项目:API的FastAPI,Scikit-Learn用于模型,以及Joblib和Pydantic等一些帮助者。您可以使用PIP安装它们:

    pip安装fastapi uvicorn scikit-learn joblib pydantic

    并保存您的环境:

    pip冻结>要求.txt

    步骤2:训练并保存一个简单的模型

    让我们简单地保持机器学习部分,以便我们专注于为模型提供服务。我们将使用著名的虹膜数据集并训练随机的森林分类器,以根据其花瓣和萼片测量来预测虹膜花的类型。

    虹膜数据集 随机森林分类器 模型/ div>