
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本Docker镜像整合了TensorFlow Serving与FastAPI框架,提供一站式机器学习模型部署解决方案。TensorFlow Serving负责高效加载和运行TensorFlow训练模型,提供底层推理能力;FastAPI则构建高性能RESTful API接口,实现模型服务的便捷调用。两者结合消除了模型部署中的服务配置复杂性,帮助开发者快速将训练好的TensorFlow模型转化为生产级API服务。
环境要求
saved_model.pb及variables/目录)配置参数(环境变量)
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
MODEL_NAME | 模型名称(用于API路径标识) | "model" |
MODEL_PATH | 容器内模型存储路径 | "/models" |
API_PORT | FastAPI服务监听端口 | 8000 |
SERVING_PORT | TensorFlow Serving内部端口 | 8500 |
BATCH_SIZE | 推理请求批处理大小(可选) | 1 |
部署示例
1. 基础Docker Run命令
bashdocker run -d \ --name tf-serving-api \ -p 8000:8000 \ -v /local/model/path:/models/model \ # 挂载本地SavedModel目录 -e MODEL_NAME="image_classifier" \ # 设置模型名称 -e API_PORT=8000 \ # 设置API服务端口 tensorflow-serving-fastapi:latest
注意:本地模型目录
/local/model/path需包含完整SavedModel结构,例如:/local/model/path/ ├── saved_model.pb └── variables/ ├── variables.data-00000-of-00001 └── variables.index
2. Docker Compose配置
创建docker-compose.yml:
yamlversion: '3.8' services: model-service: image: tensorflow-serving-fastapi:latest container_name: tf-model-service ports: - "8000:8000" volumes: - ./models/classifier:/models/model # 本地模型目录相对路径 environment: - MODEL_NAME=classifier - MODEL_PATH=/models/model - API_PORT=8000 restart: unless-stopped
启动服务:
bashdocker-compose up -d
API调用示例
服务启动后,可通过以下方式访问:
1. 访问API文档
http://localhost:8000/docshttp://localhost:8000/redoc2. 推理请求示例(curl)
假设模型接收形状为[1, 224, 224, 3]的图像数据:
bashcurl -X POST "http://localhost:8000/predict" \ -H "Content-Type: application/json" \ -d '{ "inputs": [[[[0.1, 0.2, 0.3], [0.4, 0.5, 0.6], ...]]] # 224x224x3图像数据 }'
响应示例:
json{ "predictions": [0.92, 0.05, 0.03], # 模型推理结果(示例) "model_name": "image_classifier", "timestamp": "2023-11-01T12:34:56Z" }
高级配置:多模型部署
通过修改启动脚本支持多模型部署(需自定义配置):
/models/model1、/models/model2)MODEL_NAME为模型列表(如"model1,model2")/predict/model1、/predict/model2BATCH_SIZE参数,或通过docker run --cpus限制CPU资源。docker logs tf-serving-api查看服务运行日志,排查模型加载或请求错误。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务