You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YOLOv7-pose Docker镜像超6GB问题求助:AWS ECR部署需求

解决YOLOv7-pose Docker镜像体积过大(超6GB)的优化方案

问题背景

构建用于AWS ECR的YOLOv7-pose Docker镜像,实现图片输入与姿态关键点预测功能,当前镜像体积超6GB,远大于此前MediaPipe实现的500MB,需针对性优化。

优化步骤

1. 选用轻量级基础镜像

  • 优先选择python:3.9-slim这类瘦身版Python镜像,相比全量镜像可减少数GB体积;若无需GPU推理,直接使用PyTorch官方CPU镜像pytorch/pytorch:2.0.1-cpu,避免携带GPU驱动及相关依赖。
  • 若追求极致轻量化,可尝试Alpine-based镜像(如python:3.9-alpine),但需注意Alpine使用musl libc,部分依赖可能需要额外编译,需调整安装命令。

2. 精简并优化依赖安装

  • 移除冗余依赖:
    • boto3-stubs是类型提示工具,生产环境无需保留;
    • dateTime与Python标准库datetime功能重复,直接删除该依赖;
    • 检查requirements.txt,仅保留代码中实际导入的包:boto3、requests、protobuf、pytz、torch、opencv-python、pybase64、ultralytics、typing-extensions。
  • 优化安装参数:
    • 安装pip包时添加--no-cache-dir参数,避免缓存文件占用空间:
      pip install --no-cache-dir -r requirements.txt
      
    • 若无需GPU,安装CPU版PyTorch替代GPU版,体积大幅降低:
      pip install torch==2.0.1+cpu -f https://download.pytorch.org/whl/cpu
      
    • 用opencv-python-headless替换opencv-python,移除GUI相关组件,减少数百MB体积。

3. 使用Docker多阶段构建

通过多阶段构建分离构建环境与运行环境,丢弃构建过程中的临时文件、编译依赖等冗余内容,示例Dockerfile如下:

# 第一阶段:构建依赖
FROM python:3.9-slim AS builder
WORKDIR /app
COPY requirements.txt .

# 安装编译所需的临时依赖(如gcc),安装完成后立即清理
RUN apt-get update && apt-get install -y --no-install-recommends gcc g++ && \
    pip install --no-cache-dir --user -r requirements.txt && \
    apt-get purge -y gcc g++ && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*

# 第二阶段:生成运行镜像
FROM python:3.9-slim
WORKDIR /app

# 从构建阶段复制已安装的依赖包
COPY --from=builder /root/.local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages

# 复制应用代码
COPY application.py .

# 启动命令
CMD ["python", "application.py"]

4. 清理镜像冗余文件

  • 在apt-get install后立即执行rm -rf /var/lib/apt/lists/*,清理APT缓存;
  • 安装pip包后删除pip缓存:rm -rf /root/.cache/pip;
  • 移除构建过程中生成的临时文件、编译中间产物。

5. 优化YOLO模型文件

  • 使用轻量化的YOLOv7-pose模型(如yolov7-tiny-pose.pt)替代全量模型,减少模型文件体积;
  • 复制模型文件到镜像时,仅保留推理所需的权重文件,删除训练相关的配置、日志等文件。

内容的提问来源于stack exchange,提问作者Prajyot Pawar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:13:16