如何从头开始使用 Docker 映像作为大型 ML 资产(例如模型、语料库)的资产库
如何从头开始使用 Docker 映像作为大型 ML 资产(例如模型、语料库)的资产库
MJT + Stable Diffusion 2022
我开始处理大型模型和其他与 ML 相关的资产,并且需要一个解决方案来解决如何在 Docker 开发环境中处理这些问题。
人们可能会倾向于卷。不幸的是,卷在机器之间是不可移植的。
一 能够 只需通过简单的 COPY 将资产直接捆绑到图像中。这在一定程度上可以正常工作。
问题是一个人可能想成为 高效的 ,并尽可能多地利用 Docker Image Layers。
Docker 图像作为资产库
Docker多阶段构建 救援。
诀窍是可以使用标记图像作为预定义的 '阶段' 构建的
要创建“资产映像”,首先为映像创建一个 Dockerfile
从头开始
复制<assets>/
代替 <assets>
与希望保留的资产
接下来构建镜像
$ build -t 'registry_host/asset/foo:0.1' 。
我建议坚持一个命名约定,这将使它的用途一目了然。我用 /资产
你做你。
实际上,图像标签成为 URI 资产,这使得计算和认知上的处理都很容易。
重要的是,这个标签是通用的,可以使用现有的 Docker 注册表/存储库基础设施跨机器拉/推和引用。
在图像中使用资产
复制 --from=registry_host/asset/foo:0.1 / /assets/
对于奖励积分,您还可以使用 - 关联 如果/当可用时复制命令。
概括
将标记图像与多阶段构建结合使用,可以更快地构建和部署,并更有效地利用磁盘空间。
最初发表于 https://github.co/matthewjosephtaylor .
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明