我以前从C++推断TensorFlow
图。 现在,我开始研究如何通过C++推断PyTorch
图。
我的第一个问题是,我如何知道与LibTorch
一起使用的推荐cuDNN
版本,或者我是否正在做自己的 PyTorch 编译?
确定推荐的 CUDA 版本很容易。 在转到 https://pytorch.org/并选择Quick Start Locally
(PyTorch Build
、Your OS
等(下的选项后,该网站非常清楚地表明推荐使用 CUDA 10.1,但没有提到 cuDNN 版本,在谷歌搜索时我无法找到明确的答案。
根据我对 ubuntu 上 PyTorch 的理解,如果您使用 Python 版本,则必须安装 CUDA 驱动程序(例如,nvidia-smi
可以正常工作,当前版本440
(,但实际上不需要 CUDA 和 cuDNN 安装超出驱动程序,因为它们包含在 pip3 包中,这是正确的吗? 如果是这样,那么是否有我可以在 Python 脚本中运行的命令来显示 pip 预编译的 .whl 使用的 CUDA 版本(预计为 10.1(和 cuDNN? 我怀疑有这样的命令,但我对 PyTorch 还不够熟悉,不知道它可能是什么或如何查找它。
当我没有将特定推荐版本的 cuDNN 用于某个版本的 TensorFlow 和 CUDA 时,我遇到了使用 TensorFlow C++编译和推理错误,所以我知道这些版本可能很敏感,我必须从一开始就做出正确的选择。 如果有人可以帮助确定某个版本的 PyTorch 的推荐版本的 cuDNN,那就太好了。
CUDA 通过显卡驱动程序支持 AFAIK 没有单独的"CUDA 驱动程序"。系统显卡驱动程序几乎只需要足够新,以支持所选 PyTorch 版本的 CUDA/cudNN 版本。据我所知,大多数驱动程序都包含向后兼容性。例如,支持 CUDA 10.1(通过 nvidia-smi 报告(的驱动程序也可能支持 CUDA 8、9、10.0
。如果您使用 pip 或 conda 安装,则安装中包含 CUDA 和 cudNN 的版本。您可以使用torch.version.cuda
和torch.backends.cudnn.version()
查询 python 中使用的实际版本。