kai*_*kai 15 python python-poetry
我最近发现诗歌可以帮助解决我们小组的所有不同依赖问题。在一个项目中,我们也使用PyTorch,我想知道是否有人可以帮助我并指出如何将其添加到诗歌中的方向。我们正在研究无法访问 CUDA GPU(用于简单的道路推理/测试)的机器和我们可以访问 CUDA CPU 的工作站。现在我很想用诗歌来确保每个开发者都在诗歌的帮助下使用相同的版本,但这可能吗?
似乎没有明显的方法来决定安装哪个 PyTorch 版本。我想过将不同的安装说明添加为额外的依赖项,但我找不到获得等效设置的选项,例如:
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命令。
我将不胜感激任何帮助。:)
tsv*_*kas 40
从诗歌 1.2 开始,你可以这样做:
poetry source add -p explicit pytorch https://download.pytorch.org/whl/cpu
poetry add --source pytorch torch torchvision
Run Code Online (Sandbox Code Playgroud)
它将从指定的索引 url 安装。
(这也适用于https://download.pytorch.org/whl/cu118)
Kik*_*ohs 17
在这个问题上花了几个小时后,我找到了一个“解决方案”,将 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"
Run Code Online (Sandbox Code Playgroud)
你可以运行:
poetry install
Run Code Online (Sandbox Code Playgroud)
进而:
poe force-cuda11 # relies on pip and use PyTorch wheels repo
Run Code Online (Sandbox Code Playgroud)
Ant*_*iez 13
Poetry github 中此问题的更新解决方案:
poetry add torch --platform linux --python "^3.7"
Run Code Online (Sandbox Code Playgroud)
Dat*_*ion 11
到 2021 年底,利用标记和多重约束应该会起作用。
\n$ poetry --version\nPoetry version 1.1.11\nRun Code Online (Sandbox Code Playgroud)\n# pyproject.toml\n[tool.poetry.dependencies]\npython = "~3.9"\ntorch = [\n {url = "https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp39-cp39-linux_x86_64.whl", markers = "sys_platform == \'linux\'"},\n {url = "https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp39-cp39-win_amd64.whl", markers = "sys_platform == \'win32\'", }\n]\nnumpy = "^1.21.4"\n\n[build-system]\nrequires = ["poetry-core>=1.0.0"]\nbuild-backend = "poetry.core.masonry.api"\nRun Code Online (Sandbox Code Playgroud)\n$ poetry install\nThe currently activated Python version 3.8.12 is not supported by the project (~3.9).\nTrying to find and use a compatible version. \nUsing python3.9 (3.9.9)\nCreating virtualenv machine-learning in /home/redqueen/machine_learning/.venv\nUpdating dependencies\nResolving dependencies... (36.0s)\n\nWriting lock file\n\nPackage operations: 3 installs, 0 updates, 0 removals\n\n \xe2\x80\xa2 Installing typing-extensions (4.0.1)\n \xe2\x80\xa2 Installing numpy (1.21.4)\n \xe2\x80\xa2 Installing torch (1.10.0+cpu https://download.pytorch.org/whl/cpu/torch-1.10.0%2Bcpu-cp39-cp39-linux_x86_64.whl)\nRun Code Online (Sandbox Code Playgroud)\n注意:必须列出 Numpy。否则您将收到导入错误。
\n没有numpy:
\n$ python\nPython 3.9.9 (main, Nov 23 2021, 00:34:08) \n[GCC 9.3.0] on linux\nType "help", "copyright", "credits" or "license" for more information.\n>>> import torch\n/home/redqueen/machine_learning/.venv/lib/python3.9/site-packages/torch/package/_directory_reader.py:17: UserWarning: Failed to initialize NumPy: No module named \'numpy\' (Triggered internally at ../torch/csrc/utils/tensor_numpy.cpp:68.)\n _dtype_to_storage = {data_type(0).dtype: data_type for data_type in _storages}\n>>> quit()\nRun Code Online (Sandbox Code Playgroud)\n使用numpy:
\n$ python\nPython 3.9.9 (main, Nov 23 2021, 00:34:08) \n[GCC 9.3.0] on linux\nType "help", "copyright", "credits" or "license" for more information.\n>>> import torch\n>>> torch.cuda.is_available()\nFalse\n>>> quit()\nRun Code Online (Sandbox Code Playgroud)\nhttps://python-poetry.org/docs/dependency-specation/#python-restricted-dependencies
\n我没有 Windows(或 Mac)来测试这个。
\n目前,Poetry 没有-f选项(有一个open issue和open PR),因此您无法使用pip说明。您可以.whl直接安装文件:
poetry add https://download.pytorch.org/whl/torch_stable.html/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-win_amd64.whl
Run Code Online (Sandbox Code Playgroud)
或将依赖项直接添加到您的.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" }
Run Code Online (Sandbox Code Playgroud)
我正在维护一个名为relaxed-poetry的分叉,它是一个非常年轻的分叉,但它通过以下配置支持您想要的内容:
# pyproject.toml
[tool.poetry.dependencies]
python = "^3.8"
torch = { version = "=1.90+cu111", source = "pytorch" }
[[tool.poetry.source]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cu111/"
secondary = true
Run Code Online (Sandbox Code Playgroud)
喜欢的话可以勾选一下,可以和诗并列安装。
| 归档时间: |
|
| 查看次数: |
5269 次 |
| 最近记录: |