使用FastAPI和Docker构建机器学习API
作者:佚名
上传时间:2023-05-25
运行软件:Python
软件版本:FastAPI v0.64.0
版权申诉
这个示例代码展示了如何使用FastAPI和Docker构建一个机器学习API。它通过Swagger UI进行API文档化,可以轻松地在代码中添加新的端点和模型。Docker容器化应用程序以便于部署到云上或者本地环境中。
#导入fastapi、docker、pydantic、os等库
from fastapi import FastAPI
from pydantic import BaseModel
import docker
import os
# 定义请求数据模型类
class InputShape(BaseModel):
序列1: list
序列2: list
# 创建FastAPI应用
app = FastAPI()
# 加载机器学习模型
client = docker.from_env()
model = client.containers.run(
"ml-model", # Docker映像名称
detach=True, # 在后台运行
ports={'8000/tcp': 8000}, # 映射Docker端口
)
# 定义路由函数
def predict(input_shape: InputShape):
"""
预测给定序列对应输出
"""
# 构造请求
data = {"inputs": [input_shape.dict()]}
# 发送请求到Docker容器上的模型
response = client.containers.get(model.id).exec_run(
"python -m predict",
environment=["PYTHONUNBUFFERED=1"],
stdin=json.dumps(data).encode("utf-8"),
)
# 返回预测结果
return {"outputs": json.loads(response.output.decode("utf-8"))[0][0]}
# 关闭Docker容器
def shutdown_event():
"""
关闭Docker容器
"""
client.containers.get(model.id).kill()
# 运行应用程序
if __name__ == "__main__":
uvicorn.run(
"app:app",
host="0.0.0.0",
port=int(os.environ.get("PORT", 8000)),
workers=1,
use_colors=True,
)
免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com
用户评论
相关推荐
使用FastAPI和Docker构建机器学习API
这个示例代码展示了如何使用FastAPI和Docker构建一个机器学习API。它通过Swagger UI进行API文档化,可以轻松地在代码中添加新的端点和模型。Docker容器化应用程序以便于部署到云
FastAPI v0.64.0
Python
2023-05-25 23:17
使用FastAPI和Scikit-learn构建机器学习API
使用FastAPI和Scikit-learn库创建机器学习API的示例。该API将根据用户提供的数据返回预测结果。使用了FastAPI的便捷性和Scikit-learn的高性能机器学习算法。impo
FastAPI 0.63.0, Scikit-learn 0.23.2
Python 3.8
2023-04-15 08:56
使用FastAPI和Pydantic构建用于机器学习的REST API
本示例代码展示了如何使用FastAPI和Pydantic构建一个用于机器学习的REST API,主要涉及到POST请求的处理和数据校验。```pythonfrom fastapi import F
FastAPI 0.55.1, Pydantic 1.8.2, Python 3.9.1
Python
2023-03-20 15:31
使用FastAPI、Uvicorn和Docker构建REST API
本示例展示如何使用FastAPI、Uvicorn和Docker构建REST API,以获取并展示一个硬编码的消息。from fastapi import FastAPIapp = FastAPI
FastAPI 0.63.0、Uvicorn 0.14.0、Docker 20.10.6
Python 3.9.2
2023-05-27 12:48
使用FastAPI和Docker部署机器学习模型
本示例展示如何使用FastAPI和Docker将机器学习模型部署到生产环境中,并通过HTTP API提供服务。首先,加载机器学习模型并使用FastAPI创建API endpoints。然后,使用Doc
Python 3.8.6, FastAPI 0.65.1
Visual Studio Code
2023-04-18 15:10
使用Docker构建机器学习模型
在机器学习模型构建过程中,经常会遇到环境配置问题,不同的机器学习框架和库之间的版本不兼容等问题,为了解决这些问题,可以使用 Docker。Docker 简介Docker是一个开源的容器化平台,可以
Docker 18.09+
Python、R
2023-04-03 14:46
使用FastAPI和Docker创建RESTful API
本示例代码展示了如何使用FastAPI和Docker构建一个基本RESTful API并进行部署。FastAPI具有极快的性能和易于使用的API文档自动生成功能,Docker则提供了便捷的容器化部署解
FastAPI 0.63.0, Docker 20.10.5
Python, Docker
2023-04-21 21:25
使用FastAPI和Pydantic构建API
本示例演示了如何使用FastAPI和Pydantic构建具有数据验证和类型提示的API。from fastapi import FastAPIfrom pydantic import BaseMo
FastAPI v0.66.0, Pydantic v1.8.2
Python 3.9.2
2023-03-30 18:50
使用FastAPI和MongoDB构建API
本篇示例代码展示了如何使用FastAPI框架和MongoDB数据库构建API。示例中展示了数据模型定义、CRUD操作以及API路由的定义和实现方式。from fastapi import FastA
FastAPI 0.68.0, pymongo 3.12.0
Python 3.8.10
2023-03-31 14:46
python microservice fastapi学习使用Python和FastAPI构建自己的微服务源码
python-microservice-fastapi 学习使用Python和FastAPI构建自己的微服务 如何运行? 确保已安装docker和docker-compose 运行docker-com
ZIP
10KB
2021-02-18 20:51