【问题标题】:PyTorch C++ - how to know the recommended version of cuDNN?PyTorch C++ - 如何知道 cuDNN 的推荐版本?
【发布时间】:2020-05-18 01:15:21
【问题描述】:

我之前从 C++ 中推断出 TensorFlow 图表。现在我正在着手研究如何通过 C++ 推断 PyTorch 图形。

我的第一个问题是,我如何知道cuDNN 的推荐版本与LibTorch 一起使用,或者我是否在进行自己的 PyTorch 编译?

确定推荐的 CUDA 版本很容易。转到https://pytorch.org/ 并选择Quick Start LocallyPyTorch BuildYour OS 等)下的选项后,该网站明确表示推荐使用 CUDA 10.1,但没有提及 cuDNN 版本,并且在谷歌搜索时我'我无法找到一个明确的答案。

根据我对 ubuntu 上 PyTorch 的了解,如果您使用 Python 版本,则必须安装 CUDA 驱动程序(例如,nvidia-smi 有效,当前版本为440),但实际上并没有安装 CUDA 和 cuDNN需要超出驱动程序,因为它们包含在 pip3 包中,这是正确的吗?如果是这样,那么我是否可以在 Python 脚本中运行显示 CUDA 版本(预计为 10.1)和 pip 预编译 .whl 使用的 cuDNN 的命令?我怀疑有这样的命令,但我对 PyTorch 还不够熟悉,还不知道它可能是什么或如何查找它。

当我没有为特定版本的 TensorFlow 和 CUDA 使用特定推荐版本的 cuDNN 时,我在使用 C++ 和 TensorFlow 时遇到了编译和推理错误,所以我知道这些版本可能很敏感,我必须做出从一开始就是正确的选择。如果有人可以帮助确定某个版本的 PyTorch 推荐的 cuDNN 版本,那就太好了。

【问题讨论】:

  • AFAIK 通常是 cuDNN 7.0 od 7.5,您可以查看他们提供的 docker 图像 here,它是临时的,但可能会对您的情况有所帮助。
  • 感谢您的信息和建议。该 docker 容器具有 cuDNN 7.6.5.32,但在我能够验证成功的 PyTorch 编译或 C++ 推理之前,我不相信该来源。

标签: pytorch


【解决方案1】:

CUDA 通过显卡驱动程序支持,AFAIK 没有单独的“CUDA 驱动程序”。系统显卡驱动程序几乎只需要足够新以支持所选 PyTorch 版本的 CUDA/cudNN 版本。据我所知,大多数驱动程序都包含向后兼容性。例如,支持 CUDA 10.1(通过 nvidia-smi 报告)的驱动程序也可能支持 CUDA 8、9、10.0

如果您使用 pip 或 conda 安装,则安装中包含一个版本的 CUDA 和 cudNN。你可以通过torch.version.cudatorch.backends.cudnn.version()查询python中实际使用的版本。

【讨论】:

  • 通过 pip3 安装 torch 1.4.0 和 torchvision 0.5.0,python 语句“torch.backends.cudnn.version()”显示“7603”的结果。这是什么意思? 7.6.3.x ??或 7.6.0.3x ??还是别的什么??
  • 根据code # cuDNN version is MAJOR*1000 + MINOR*100 + PATCH 所以我认为你应该读作7.6.3。第四个数字可以超过两位数,所以这个 4 位版本格式不支持,所以它必须是 7.6.3。
  • 感谢您的更新。我在 PyTorch 论坛上也要求 100% 确定:discuss.pytorch.org/t/…
  • 我无法追踪补丁子版本的含义,但如果 Nvidia 使用健全的版本控制系统,那么它应该与其他版本完全兼容,只要主要、次要和补丁版本匹配。
猜你喜欢
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
相关资源
最近更新 更多