我想利用 Python (3.8.2) 库/框架,即 PyTorch 和 CUDA。我想依赖通过在一行上使用 ~= 声明的兼容版本。 requirements.txt 文件中的确切声明(长格式)如下:
torch==1.13.1+cu117
但是,我想使用~=表示的兼容版本,如下所示:
torch~=1.13+cu11
也就是说,要安装的火炬可以是 1.13.1、1.13.2 等之一(即 1.13.*),而 cuda 可能是 11.1、11.2、...、11.7 等之一(即 1.13.*)。 11.*)。我上面展示的例子是正确的用法吗?如果不是,该版本兼容性的正确用法是什么?否则,我可以不在requirements.txt文件的同一行中声明两个(依赖)库的兼容版本吗?
这不适用于您的requirements.txt中的
torch==1.13.1+cu117
。
根据官方文档,您需要运行例如
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117
特别是,如果您想控制 cuda 版本并使用轮子安装(而不是从源代码构建),则需要
--extra-index-url
。所以你的requirements.txt需要看起来像这样,例如cu117
--extra-index-url https://download.pytorch.org/whl/cu117
torch==1.13.1+cu117
requirements.txt 中可以有多个
--extra-index-url
,因此您可以通过以下方式允许考虑多个版本:
--extra-index-url https://download.pytorch.org/whl/cu116
--extra-index-url https://download.pytorch.org/whl/cu117
torch~=1.13.1