tensorflow - Ubuntu 16.04 上 TensorFlow 的 NVIDIA cuDNN 版本类型

标签 tensorflow cuda ubuntu-16.04 nvidia cudnn

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

4年前关闭。
社区在 7 个月前审查了是否重新打开此问题并将其关闭:

原始关闭原因未解决





Improve this question




根据TensorFlow 1.5 installation instructions对于 Ubuntu 16.04,您需要安装 cuDNN 7.0,但他们没有具体说明应该安装什么:

cuDNN v7.0. For details, see NVIDIA's documentation. Ensure that you create the CUDA_HOME environment variable as described in the NVIDIA documentation.



在注册并完成所有下载 cuDNN 的过程后,有多种下载和安装选项:

enter image description here

显然,对于 Ubuntu 16.04,它可以是 Linux 或 Ubuntu Runtime 或 Developer,但由于我在网上看到不同的提及应该安装哪个文件,我想知道哪个是最好的安装,或者实际上有什么不同?

最佳答案

首先,我鼓励您阅读开发人员指南和安装指南。我将尽量不重复其中包含的信息(例如特定的安装步骤/命令行)。

基本上有 2 种安装方法,适用于许多不同类型的 NVIDIA 软件:

  • 直接安装(在这种特殊情况下通过 .tgz 压缩存档)
  • 包管理器安装(即在 Ubuntu 上使用 dpkg/apt/apt-get)

  • 有多种原因,包括个人偏好,为什么您可能更喜欢使用 tar 存档 (.tgz) 并“解压缩”所有内容,而不是让 apt 或 apt-get 为您处理安装。

    如果您选择 .tgz 方法,您需要的所有内容都包含在单个 .tgz 存档“cuDNN v7.0.5 Library for Linux”中,并且我们可以立即观察到,如果您使用的是 Ubuntu 之外的其他 Linux 操作系统,这是(唯一的)方法。此 zip 文件包含已编译的库、针对 cuDNN API 进行开发所需的头文件,以及针对 cuDNN 编译/链接代码所需的其他内容。

    如果您选择包管理器方法,这目前仅适用于列出的操作系统(本例中为 Ubuntu 16.04 和 Ubuntu 14.04)。你有一些独立的选择:
  • 运行时库 - 如果您将使用 cuDNN 做的唯一事情是运行另一个已编译为在该版本的 Ubuntu 上使用该版本的 cuDNN 的二进制文件,这就足够了。例如,如果您通过 pip 方法安装了 Tensorflow (TF),那么您将获得可以使用的预编译二进制文件,并且这些预编译的二进制文件是为 Ubuntu 16.04 和 cuDNN 7.0.5 设置的,那么您可以只安装 cuDNN运行时库(按照安装指南中的步骤),这足以开始使用您的预编译 TF。
  • 开发人员库 - 这将包括头文件和针对此特定版本的 cuDNN API 编译和构建代码所需的其他内容。因此,如果您想构建或重建 TF(供 CUDA GPU 使用),或者您只是在处理自己的 cuDNN API 使用,您将需要此选项。
  • 代码示例和用户指南 - 在 .tgz 安装方法中,所有这些组件,包括文档和代码示例,都包含在单个 .tgz 存档中。在包管理器方法中,即使是代码示例和 API 用户指南也被分解为单独的 .deb 安装,因此如果您不需要它,则不必下载它(例如,如果您只是针对cuDNN 7.0.5,您需要开发人员库但不需要代​​码示例或 API 用户指南)。

  • 更新:对于 CUDNN 的更新版本,.tgz 文件/方法不再包含示例代码或文档。文档(用户指南和安装指南)是 here .这些示例仅在 .deb 安装程序中可用。

    关于tensorflow - Ubuntu 16.04 上 TensorFlow 的 NVIDIA cuDNN 版本类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784645/

    相关文章:

    tensorflow - TensorFlow inception 和 mobilenet 有什么区别

    python - 操作系统错误 : raw write() returned invalid length when using print() in python

    CUDA sincospi函数精度

    mysql - Ubuntu 16.04 Node.JS 应用程序无法连接到 MySQL 数据库 - 错误 : connect ECONNREFUSED

    linux - 构建时 Qt : qml quick, 中的未知模块

    python - 使用 MNIST 训练模型的 Tensorflow 总是打印错误的数字

    c++ - nvcc 和 BOOST 库的编译错误

    cuda - NVCC 使用 CMAKE 的 cuda_compile_ptx 编译为 ptx

    mysql - 从 MySQL 转储导入到 Clickhouse

    tensorflow - 聊天机器人的 Seq2Seq 模型