【发布时间】:2021-09-14 15:38:18
【问题描述】:
我在安装了 CUDA 11.1 的 Ubuntu 20.04 LTS 上(并且工作,PATH 和 LD_LIBRARY_PATH 配置正确),我正在尝试定义一个可重用的 conda 环境(即,在 environment.yml 文件中) 成功安装了支持 CUDA 的 PyTorch。
但是,当我使用环境文件时,我收到一条消息,指出 Torch 未使用 CUDA 支持进行编译:
Python 3.8.10 | packaged by conda-forge | (default, May 11 2021, 07:01:05)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> device = torch.device("cuda:0")
>>> t = torch.tensor(device=device, data=[0,1,2,3])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/jdr2160/anaconda3/envs/foo/lib/python3.8/site-packages/torch/cuda/__init__.py", line 166, in _lazy_init
raise AssertionError("Torch not compiled with CUDA enabled")
AssertionError: Torch not compiled with CUDA enabled
我的environment.yml 很简单:
name: foo
channels:
- conda-forge
- nvidia
- pytorch
dependencies:
- cudatoolkit=11.1
- python=3.8
- pytorch
当我创建一个“空”python 3.8 环境并从命令行而不是从环境文件安装 Conda 包时,一切正常:
$ conda env create --name bar python=3.8
...
$ conda activate bar
$ conda install pytorch cudatoolkit=11.1 -c pytorch -c nvidia
...
$ python
Python 3.8.10 | packaged by conda-forge | (default, May 11 2021, 07:01:05)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> device = torch.device("cuda:0")
>>> t = torch.tensor(device=device, data=[0,1,2,3])
>>>
谁能告诉这里发生了什么?从环境文件安装 PyTorch 时,Conda 似乎没有看到 cudatoolkit=11.1 依赖项,但我不知道如何修复它。
【问题讨论】: