我正在使用基础图像为我的 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到新图像,我想它也不会帮助我。是否有任何其他标准优化实践可以帮助我减小图像大小?
1 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
假设您想要从(通常是神经网络)获得某种训练有素的模型,pytorch
您确实应该使用多阶段 Docker 构建,如下所示(至少在 IMO):
1. 训练模型和导出
照常编写脚本,包括您需要的所有依赖项。训练您的模型并使用 torchscript 将其保存为工件torch.jit.script
。
2. 第二阶段
使用 C++ 编写推理代码,加载您的网络并编译源代码(使用libtorch
)。
3. 最终形象
从上一步复制二进制文件并将其作为 Docker 的入口点,以便您可以将其作为容器内的一次性神经网络运行。
添加回答
举报
0/150
提交
取消