猿问

优化 docker 镜像大小

我正在使用基础图像为我的 python 应用程序构建一个 docker 图像python:3.5-slim-buster

我在里面运行下面的命令Dockerfile

RUN pip install --no-cache-dir -r requirements.txttorch在需求文件中有库。

构建图像后,它的大小为2.29 GB. 但是如果我在需求文件中构建没有torch的图像,它只有~900 MB。

当我手动运行图像并检查容器内部时:

torch( /usr/local/lib/python3.5/site-packages/torch) 目录是1.3GB.

因此,即使我进行多阶段构建并尝试将内容复制 /usr/local/lib/python3.5/site-packages到新图像,我想它也不会帮助我。

是否有任何其他标准优化实践可以帮助我减小图像大小?


青春有我
浏览 193回答 1
1回答

一只萌萌小番薯

假设您想要从(通常是神经网络)获得某种训练有素的模型,pytorch您确实应该使用多阶段 Docker 构建,如下所示(至少在 IMO):1. 训练模型和导出照常编写脚本,包括您需要的所有依赖项。训练您的模型并使用 torchscript 将其保存为工件torch.jit.script。2. 第二阶段使用 C++ 编写推理代码,加载您的网络并编译源代码(使用libtorch)。3. 最终形象从上一步复制二进制文件并将其作为 Docker 的入口点,以便您可以将其作为容器内的一次性神经网络运行。
随时随地看视频慕课网APP

相关分类

Python
我要回答