诗歌与火炬

时间:2019-12-03 13:18:35

标签: python python-poetry

我最近发现诗歌可以帮助我们小组解决所有不同的依赖性。 在一个项目中,我们还使用 PyTorch ,我想知道是否有人可以帮助我,并指出如何将其添加到诗歌中。 我们正在使用无法访问CUDA GPU的机器(为了简化路演/测试),以及正在访问CUDA CPU的工作站。现在我很想用诗歌来确保每个开发人员都可以在诗歌的帮助下使用相同的版本,但这有可能吗?

似乎没有明显的方法来决定要安装哪个PyTorch版本。我曾考虑过将其他安装说明添加为 extra 依赖项,但是我找不到能获得类似设置的选项,例如:

pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html

我可以设置不同在线车轮的总路径,例如: https://download.pytorch.org/whl/torch_stable.html/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-win_amd64.whl

但是我不希望直接在git中使用它们……我在诗歌中看到的最接近的选择是手动下载它们,然后使用file = X命令。

我将不胜感激。 :)

3 个答案:

答案 0 :(得分:6)

当前,诗歌没有-f选项(有open issueopen PR),因此您不能使用pip指令。您可以直接安装.whl文件:

poetry add https://download.pytorch.org/whl/torch_stable.html/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-win_amd64.whl

或将依赖关系直接添加到您的.toml文件中:

[tool.poetry.dependencies]
torch = { url = "https://download.pytorch.org/whl/torch_stable.html/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-win_amd64.whl" }

答案 1 :(得分:2)

在这个问题上花了几个小时后,我找到了一个“解决方案”,将 Poetry 和 pip 结合起来,只为 PyTorch。您无需直接指定轮子 URL,从而保持跨平台。

我正在使用 Poe The Poet,这是一个不错的 Poetry 任务运行器,允许运行任意命令。

[tool.poetry.dev-dependencies]
poethepoet = "^0.10.0"

[tool.poe.tasks]
force-cuda11 = "python -m pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html"

你可以运行:

poetry install

然后:

poe force-cuda11  # relies on pip and use PyTorch wheels repo

答案 2 :(得分:0)

诗词github中this issue的更新解决方案:

poetry add torch --platform linux --python "^3.7" -vvv