roboflow/roboflow-inference-server-trtRoboflow Inference Server (TRT Targets) 是 Roboflow 官方推出的推理服务器 Docker 镜像,专为 NVIDIA TensorRT (TRT) 优化,旨在为计算机视觉模型提供高性能推理服务。该镜像集成了 Roboflow 模型管理能力与 TensorRT 的深度学习推理加速技术,支持快速部署预训练或自定义训练的计算机视觉模型。
/health 端点,便于监控服务状态nvidia-docker2),确保 Docker 可访问 GPU从 Docker Hub 或 Roboflow 官方镜像仓库拉取镜像:
bashdocker pull roboflow/roboflow-inference-trt:latest
docker run)bashdocker run --gpus all \ -p 8080:8080 \ # REST API 端口映射 -p 9001:9001 \ # gRPC 端口映射 -e ROBOFLOW_API_KEY="your_roboflow_api_key" \ # Roboflow API Key(必填) -e MODEL_ID="your_model_id/version" \ # 模型 ID 及版本(如 "my-detection-model/1") -e TRT_PRECISION="FP16" \ # TensorRT 精度模式(FP32/FP16/INT8,默认 FP32) roboflow/roboflow-inference-trt:latest
bashdocker run --gpus all \ -p 8080:8080 \ -p 9001:9001 \ -v /path/to/local/models:/models \ # 挂载本地模型目录到容器内 /models -e MODEL_PATH="/models/your_local_model" \ # 指定容器内模型路径 -e TRT_PRECISION="INT8" \ roboflow/roboflow-inference-trt:latest
创建 docker-compose.yml:
yamlversion: '3.8' services: roboflow-inference-trt: image: roboflow/roboflow-inference-trt:latest runtime: nvidia # 启用 NVIDIA 运行时(旧版 Docker)或使用 deploy.resources 配置(Docker 20.10+) deploy: resources: reservations: devices: - driver: nvidia count: all # 使用所有 GPU capabilities: [gpu] ports: - "8080:8080" # REST API - "9001:9001" # gRPC API environment: - ROBOFLOW_API_KEY=your_roboflow_api_key - MODEL_ID=my-detection-model/1 - TRT_PRECISION=FP16 - BATCH_SIZE=4 # 推理批处理大小(默认 1) - GPU_MEMORY_FRACTION=0.8 # 分配 GPU 内存比例(0.0-1.0,默认 0.9) volumes: - ./models:/models # 可选:挂载本地模型目录 restart: unless-stopped
启动服务:
bashdocker-compose up -d
服务启动后,通过 REST API 验证:
bashcurl http://localhost:8080/health # 预期响应:{"status": "healthy", "model_loaded": true}
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
ROBOFLOW_API_KEY | Roboflow API Key(从 Roboflow 控制台获取,用于拉取托管模型) | 无(必填) | rf_abc123def456 |
MODEL_ID | Roboflow 模型 ID 及版本(格式:model-name/version) | 无(必填) | retail-product-detection/3 |
MODEL_PATH | 本地模型路径(优先级高于 MODEL_ID,需挂载目录) | 空 | /models/custom-model |
TRT_PRECISION | TensorRT 精度模式(FP32/FP16/INT8) | FP32 | INT8 |
PORT | REST API 服务端口 | 8080 | 8000 |
GRPC_PORT | gRPC 服务端口 | 9001 | 9090 |
BATCH_SIZE | 推理批处理大小(需模型支持动态批处理) | 1 | 4 |
GPU_MEMORY_FRACTION | 分配 GPU 内存比例(0.0-1.0,避免内存溢出) | 0.9 | 0.7 |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARNING/ERROR) | INFO | DEBUG |
DISABLE_GRPC | 是否禁用 gRPC 服务(true/false) | false | true |
| 端口 | 用途 | 协议 | 配置变量 |
|---|---|---|---|
| 8080 | REST API 服务端口 | HTTP | PORT |
| 9001 | gRPC 服务端口 | gRPC | GRPC_PORT |
trtexec 工具验证)--user 参数指定用户 ID)BATCH_SIZE 和 GPU_MEMORY_FRACTION,并通过监控工具(如 nvidia-smi)观察 GPU 利用率v0.1.0)而非 latest,避免版本变更风险manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务