【问题标题】:Small Miniconda, Keras, and TensorFlow in DockerDocker 中的小型 Miniconda、Keras 和 TensorFlow
【发布时间】:2019-07-21 15:47:18
【问题描述】:

我们正在将 docker 容器部署到使用 Keras 进行机器学习模型的生产中。所以根据 Keras 和 TensorFlow 文档,我们需要 Anaconda 和 Python 3.6(不是 3.7)和两个 python 包 keras 和 tensorflow。

因此,在我们的 dockerfile 中,我们通过安装最新的 Miniconda 即 Python 3.7,然后降级到 Python 3.6.8 来安装低于 3.7(即 3.6.8)的最新版本的 Python:

RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-4.5.12-Linux-x86_64.sh -O ~/miniconda.sh && \
    /bin/bash ~/miniconda.sh -b -p /opt/conda && \
    rm ~/miniconda.sh && \
    /opt/conda/bin/conda clean -tipsy && \
    ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
    echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
    echo "conda activate base" >> ~/.bashrc
ENV PATH /opt/conda/bin:$PATH

RUN /opt/conda/bin/conda install python=3.6.8

然后我们安装所需的python库:

RUN /opt/conda/bin/pip install --no-cache-dir keras tensorflow

这最终是巨大的: * Miniconda 约为 250mb * 降级到 python 3.6.8 增加了 ~200mb * python 包增加了~600mb

有没有办法让这个更轻?当您只想运行模型而不是训练模型时,感觉应该有某种轻量级版本的 TensorFlow 和 Keras。似乎应该有一种方法来清理 python 降级以删除一些不再需要的文件。

更新 澄清一下,这是 larger docker container 的一部分,因此不能选择使用预构建的 tensorflow/tensorflow。

【问题讨论】:

  • 这个特定服务器的可管理大小是多少?例如,什么不是巨大的?你能忍受什么?
  • 您需要 miniconda 吗?问,因为你是 pip 安装 tf 和 keras。如果没有,或许可以考虑使用 Python:3.6.8-slim 作为基础镜像。
  • [Tensorflow Docker][1] 的这些文档没有说明需要 conda。您能否链接您引用的文档? [1]:tensorflow.org/install/docker
  • Scott——我们希望低于 2gb,但由于我们在容器中安装了一堆其他东西(主要是 R 和 R 包),我们对此没有硬性规定跨度>
  • 很奇怪,我一度认为 tensorflow 文档说需要 anaconda,但是当我查看 tensorflow.org/install/pip 时,我认为不需要它。这可能会减少安装的大小。

标签: python docker tensorflow keras anaconda


【解决方案1】:

截至撰写本文时,最新的非 GPU 版本的 tensorflow docker 映像应该约为 444 MB(查看current tags)。

最新的 444 MB

最后更新:4 小时前

有 578 个标签,但我没有看到任何小于 400 MB 的标签。至于Keras,我很确定这些天它已经安装了TensorFlow,所以你应该很高兴。

在安装 Keras 之前,请安装其后端引擎之一: TensorFlow、Theano 或 CNTK。我们推荐使用 TensorFlow 后端。

要安装最新的 TensorFlow Docker 映像,我刚刚访问了 DockerHub page 并运行:

docker pull tensorflow/tensorflow

【讨论】:

  • 这并不能解决我的问题,因为 docker 容器目前是从不同的图像构建的。
  • 好的。这是否值得反对?我已经要求您提供您所指的文档并试图提供帮助:-)
  • 我认为我正在寻找的答案不应该被否决?我试图撤消,但它不会让我...
  • 生成 444 MB 图像的 docker 文件是一个很好的参考,可以包含哪些内容并减少空间:github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/…
猜你喜欢
  • 2020-11-02
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多