4 ms·
I use poetry and direnv. Coming from node/npm, it feels natural for me to just do this. I have really no troubles of installing Pytorch with poetry
by thangngoc89 3y ago
I use poetry and direnv. Coming from node/npm, it feels natural for me to just do this. I have really no troubles of installing Pytorch with poetry
- maleldil 3y agoHow are you installing Pytorch with CUDA with Poetry? I stopped using Poetry because it wouldn't automatically get the CUDA version; instead, it would install the CPU version. I migrated to PDM, which does the right thing.
- claytonjy 3y agowas this before torch 2.0? With the very notable exceptions of a few mispackaged versions, torch now includes all the relevant Nvidia libs, and I haven't seen it grab the CPU version on a GPU box yet, though I'm not sure what it looks for. A notable open issue in poetry is we can't currently specify one dependency on torch, and have it grab CPU version on some systems and GPU on others. Does PDM solve that?
- maleldil 3y agoI don't think PDM solves that directly. What I do is have different lock files for different platforms (e.g. Linux/CUDA and macOS/Metal), but pyproject.toml lists only "torch".
- thangngoc89 3y agoBefore CUDA 12.0 you have to specify a field in pyproject.toml like this [tool.poetry.dependencies] python = ">=3.10,<3.12.0" torch = {version = "^2.0.1+cu118", source = "torch118"} torchvision = {version = "^0.15.2+cu118", source = "torch118"} [[tool.poetry.source]] name = "torch118" url = "https://download.pytorch.org/whl/cu118" priority = "explicit" However, since CUDA 12.0 and Pytorch 2.1.0, just install like normal poetry add torch torchvision
- maleldil 3y agoI stand corrected. I was familiar with the first option, which coupled the dependencies with the platform, whereas I wanted a CUDA version on Linux and a Metal version on macOS. However, this works perfectly with Poetry 1.8 and Pytorch 2.2. I suppose the only problem is what PDM also does, where the lock file is platform-dependent. I'm not sure whether Poetry allows you to select a specific lock file, however.