【问题标题】:How to package tensorflow-gpu model to run on most of the machines?如何打包 tensorflow-gpu 模型在大多数机器上运行?
【发布时间】:2019-11-17 18:40:27
【问题描述】:

Tensorflow GPU 版本、nvidia 驱动版本、cudnn 版本有特殊的兼容性矩阵。这个兼容性矩阵在打包和分发 tensorflow 模型时产生了问题,当我通过它们时,它可以由其他人轻松运行。基于容器的技术(例如 docker)也会有问题,因为它不知道 nvidia 驱动程序版本。我想知道是否有人知道打包 tensorflow 模型的最佳方法,该模型可以根据 linux 系统上的底层 nvidia 驱动程序自动配置。我怎样才能做到这一点?

【问题讨论】:

  • 您可以使用安装了 tensorflow-gpu 的基础 docker 映像,然后在其上创建自己的 docker 文件。诸如“FROM tensorflow/tensorflow:latest-py3”之类的内容,然后是您在 dockerfile 中的要求。
  • @AkashBasudevan 通常 docker 成为特定于机器的。如果机器有某些特定的 nvidia 驱动程序,则只有带有 cudnn 的某些 cuda 版本(9.x 或 10.x)可以工作。此外,有时必须对 tensoflow-gpu 进行降级。我尝试将一台机器上完美运行的 docker 转移到另一台机器上。在另一台机器上,我不得不对 docker 进行几处更改才能使其正常工作。我的问题是,当我将它传递给生产团队时,他们会期望它能够顺利运行。如何自动获知nvidia驱动信息?

标签: python docker tensorflow gpu nvidia


【解决方案1】:

最简单的方法是使用 tensorflow 镜像和 docker https://hub.docker.com/r/tensorflow/tensorflow/ 对于 GPU,您可以使用预先安装的现有图像的 nvidia 工具或将其添加到 docker 文件中。..

【讨论】:

  • 以上链接提到:-gpu 标签基于 Nvidia CUDA。你需要 nvidia-docker 来运行它们。注意:TensorFlow 1.13 及更高版本的 GPU 版本(包括最新标签)需要支持 CUDA 10 的 NVidia 驱动程序。请参阅 NVidia 的支持矩阵。
猜你喜欢
  • 2018-04-02
  • 2020-02-11
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
相关资源
最近更新 更多