在Ubuntu 16.04上,为TensorFlow选择哪种NVIDIA cuDNN发行版本?

14
根据TensorFlow 1.5适用于Ubuntu 16.04的安装说明,您需要安装cuDNN 7.0,但它们没有明确说明应该安装什么东西:
  

cuDNN v7.0。有关详细信息,请参见NVIDIA文档。请确保按照NVIDIA文档中所述创建CUDA_HOME环境变量。

注册并经过所有下载cuDNN的步骤后,有多个选项可供下载和安装: 输入图像描述 显然,对于Ubuntu 16.04,可以选择Linux或Ubuntu Runtime或Developer,但由于在网络上看到了不同的提及应该安装哪个文件,我想知道最好安装哪个,或者实际上有没有区别?
2个回答

19
首先,我建议您阅读开发人员指南和安装指南。我将尽力避免重复包含在其中的信息(例如特定的安装步骤/命令行)。
基本上有两种安装方法,这对于许多不同类型的NVIDIA软件都是适用的: - 直接安装(在这种情况下是通过.tgz压缩归档文件) - 包管理器安装(即在Ubuntu上使用dpkg / apt / apt-get)
有各种原因,包括个人喜好,可能会使您更喜欢使用tar归档文件(.tgz)并“解压”所有内容,而不是让apt或apt-get为您处理安装。
如果您选择了.tgz方法,则您需要的所有内容都包含在单个.tgz归档文件“Linux的cuDNN v7.0.5库”中,您可以立即观察到,如果您使用的是Ubuntu以外的某些Linux OS,则只能采用此方法。此zip文件包含编译的库、针对cuDNN API进行开发所需的头文件以及其他编译/链接代码所需的内容。
如果您选择包管理器方法,则目前仅适用于列出的操作系统(在此示例中为Ubuntu 16.04和Ubuntu 14.04)。你有一些独立的选择: - 运行时库 - 如果您使用cuDNN的唯一事情是运行已经编译为在Ubuntu上使用cuDNN 7.0.5版本的二进制文件,那么这是足够的。例如,如果您已经通过pip方法安装了Tensorflow(TF),因此您获得了准备好的预编译二进制文件,并且这些预编译二进制文件设置为Ubuntu 16.04和cuDNN 7.0.5,则您可以只安装cuDNN运行时库(按照安装指南中的步骤),这就足以开始使用您的预编译TF了。
  • 开发者库 - 此选项包括头文件和其他编译和构建针对此特定版本cuDNN API所需的内容。因此,如果您想要构建重新构建TF(用于CUDA GPU使用),或者您只是在自己使用cuDNN API,则需要此选项。

  • 代码示例和用户指南 - 在.tgz安装方法中,所有这些组件,包括文档和代码示例,都包含在单个.tgz归档文件中。在软件包管理器方法中,即使代码示例和API用户指南也被拆分为单独的.deb安装包,因此如果您不需要它们(例如,如果您只是将TF重新构建为cuDNN 7.0.5),则无需下载它们。

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


    我只是想知道在安装开发库之前是否需要先安装运行时库。从文档中看来,好像必须先安装运行时库,然后再安装开发库。 - Tekin

    -2

    您必须安装CUDNN v7.0.x,其中x表示次要版本,对于TensorFlow来说并不重要。 您使用的是Ubuntu 16.04,因此必须下载“Linux的CUDNN v7.0.5库”,以便安装TensorFlow。


    我所指的不是小版本,而是事实上有“Linux”、“Ubuntu 16.04 Runtime”和“Ubuntu 16.04 Developer”这三种。 - traveh

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接