PyTorch 似乎与其自己的 CUDA 库捆绑在一起。但是,如果我们已经有了它们(可能是较新的)并且只想安装
torch
怎么办?
还有额外的问题:为什么 PyTorch 无法检测或接受与其声明的主要版本和次要版本(例如 1.8)相匹配的系统 CUDA?当你的系统有 1.8.y 并且 y>x 时,为什么它必须下载自己的硬编码 1.8.x?毕竟,TF 可以做到这一点,接受构建中的微小差异,并避免这些严重依赖项的不必要的重复(以 GB 为单位),
注意:将
--no-deps
参数添加到 pip install
甚至会错过所需的 C++ 动态库(不仅仅是捆绑的 CUDA)。
要仅安装 PyTorch 包而不安装捆绑的 CUDA 库,您可以在 pip 中使用 --no-deps 标志。但是,正如您提到的,这种方法可能不包含所需的 C++ 动态库。
PyTorch 不会自动检测 CUDA 以允许细粒度的用户控制和兼容性。为了简单起见,TensorFlow 捆绑了 CUDA。选择取决于偏好和项目需求。