moa*_*n66 1 python docker pytorch
所以我有一个 Flask Web 应用程序,它将公开一些深度学习模型。
我构建了图像,一切正常。
问题是这张图片的大小是5.58GB!这有点荒谬。
我有一些在构建过程中复制的深度学习模型,我认为它们可能是罪魁祸首,但它们的大小总和并没有超过,300MB所以绝对不是它。
在检查历史记录和每层的大小后,我发现了这一点:
RUN /bin/sh -c pip install -r requirements.txt占用771MB。RUN /bin/sh -c pip install torch==1.10.2占用2.8GB!RUN /bin/sh -c apt-get install ffmpeg libsm6 libxext6占用400MB。那么如何在保持图像大小合理的同时合并这些库呢?在 python 中部署机器学习模型时,可以使用这些大小的图像吗?
下面是root directory:
Dockerfile:
FROM python:3.7.13
WORKDIR /app
COPY ["rdm.pt", "autosort_model.pt", "rotated_model.pt", "yolov5x6.pt", "/app/"]
RUN pip install torch==1.10.2
COPY requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
RUN apt-get update
RUN apt-get install ffmpeg libsm6 libxext6 -y
COPY . /app
CMD python ./app.py
Run Code Online (Sandbox Code Playgroud)
.dockerignore:
Dockerfile
README.md
__pycache__
Run Code Online (Sandbox Code Playgroud)
小智 6
默认情况下,torch 会打包 CUDA 包和其他东西。如果不需要 CUDA,请将--extra-index-url https://download.pytorch.org/whl/cpu和添加到 pip install 命令。--no-cache-dir
RUN pip install --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu
删除 apt 列表缓存也是一个好习惯:
RUN apt-get update \
&& apt-get install -y \
ffmpeg \
libsm6 \
libxext6 \
&& rm -rf /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1501 次 |
| 最近记录: |