为什么Anaconda在我安装cuda时只安装pytorch cpuonly?

ryoqjall  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(306)

我已经创建了一个Python 3.7 conda虚拟环境,并使用以下命令安装了以下包:
conda install pytorch torchvision torchaudio cudatoolkit=11.3 matplotlib scipy opencv -c pytorch
它们安装得很好,但当我运行程序时,我收到以下错误,表明未找到启用CUDA的设备:

raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

我有一个NVIDIA RTX 3060ti GPU,据我所知它支持CUDA,但每当我进入我的conda环境中的Python交互式shell时,在评估torch.cuda.is_available()时,我都会得到False,这表明CUDA可能没有正确安装或没有找到。
当我执行conda list来查看我安装的软件包时:


# packages in environment at /home/user/anaconda3/envs/FGVC:

# 

# Name                    Version                   Build  Channel

_libgcc_mutex             0.1                        main  
_openmp_mutex             4.5                       1_gnu  
blas                      1.0                         mkl  
brotli                    1.0.9                he6710b0_2  
bzip2                     1.0.8                h7b6447c_0  
ca-certificates           2021.10.26           h06a4308_2  
cairo                     1.16.0               hf32fb01_1  
certifi                   2021.10.8        py37h06a4308_2  
cpuonly                   1.0                           0    pytorch
cudatoolkit               11.3.1               h2bc3f7f_2  
cycler                    0.11.0             pyhd3eb1b0_0  
dbus                      1.13.18              hb2f20db_0  
expat                     2.4.4                h295c915_0  
ffmpeg                    4.0                  hcdf2ecd_0  
fontconfig                2.13.1               h6c09931_0  
fonttools                 4.25.0             pyhd3eb1b0_0  
freeglut                  3.0.0                hf484d3e_5  
freetype                  2.11.0               h70c0345_0  
giflib                    5.2.1                h7b6447c_0  
glib                      2.69.1               h4ff587b_1  
graphite2                 1.3.14               h23475e2_0  
gst-plugins-base          1.14.0               h8213a91_2  
gstreamer                 1.14.0               h28cd5cc_2  
harfbuzz                  1.8.8                hffaf4a1_0  
hdf5                      1.10.2               hba1933b_1  
icu                       58.2                 he6710b0_3  
imageio                   2.16.0                   pypi_0    pypi
imageio-ffmpeg            0.4.5                    pypi_0    pypi
imutils                   0.5.4                    pypi_0    pypi
intel-openmp              2021.4.0          h06a4308_3561  
jasper                    2.0.14               hd8c5072_2  
jpeg                      9d                   h7f8727e_0  
kiwisolver                1.3.2            py37h295c915_0  
lcms2                     2.12                 h3be6417_0  
ld_impl_linux-64          2.35.1               h7274673_9  
libffi                    3.3                  he6710b0_2  
libgcc-ng                 9.3.0               h5101ec6_17  
libgfortran-ng            7.5.0               ha8ba4b0_17  
libgfortran4              7.5.0               ha8ba4b0_17  
libglu                    9.0.0                hf484d3e_1  
libgomp                   9.3.0               h5101ec6_17  
libopencv                 3.4.2                hb342d67_1  
libopus                   1.3.1                h7b6447c_0  
libpng                    1.6.37               hbc83047_0  
libstdcxx-ng              9.3.0               hd4cf53a_17  
libtiff                   4.2.0                h85742a9_0  
libuuid                   1.0.3                h7f8727e_2  
libuv                     1.40.0               h7b6447c_0  
libvpx                    1.7.0                h439df22_0  
libwebp                   1.2.0                h89dd481_0  
libwebp-base              1.2.0                h27cfd23_0  
libxcb                    1.14                 h7b6447c_0  
libxml2                   2.9.12               h03d6c58_0  
lz4-c                     1.9.3                h295c915_1  
matplotlib                3.5.0            py37h06a4308_0  
matplotlib-base           3.5.0            py37h3ed280b_0  
mkl                       2021.4.0           h06a4308_640  
mkl-service               2.4.0            py37h7f8727e_0  
mkl_fft                   1.3.1            py37hd3c417c_0  
mkl_random                1.2.2            py37h51133e4_0  
munkres                   1.1.4                      py_0  
ncurses                   6.3                  h7f8727e_2  
networkx                  2.6.3                    pypi_0    pypi
ninja                     1.10.2           py37hd09550d_3  
numpy                     1.21.2           py37h20f2e39_0  
numpy-base                1.21.2           py37h79a1101_0  
olefile                   0.46                     py37_0  
opencv                    3.4.2            py37h6fd60c2_1  
openssl                   1.1.1m               h7f8727e_0  
packaging                 21.3               pyhd3eb1b0_0  
pcre                      8.45                 h295c915_0  
pillow                    8.4.0            py37h5aabda8_0  
pip                       21.2.2           py37h06a4308_0  
pixman                    0.40.0               h7f8727e_1  
py-opencv                 3.4.2            py37hb342d67_1  
pyparsing                 3.0.4              pyhd3eb1b0_0  
pyqt                      5.9.2            py37h05f1152_2  
python                    3.7.11               h12debd9_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
pytorch                   1.7.0               py3.7_cpu_0  [cpuonly]  pytorch
pywavelets                1.2.0                    pypi_0    pypi
qt                        5.9.7                h5867ecd_1  
readline                  8.1.2                h7f8727e_1  
scikit-image              0.19.1                   pypi_0    pypi
scipy                     1.7.3            py37hc147768_0  
setuptools                58.0.4           py37h06a4308_0  
sip                       4.19.8           py37hf484d3e_0  
six                       1.16.0             pyhd3eb1b0_1  
sqlite                    3.37.2               hc218d9a_0  
tifffile                  2021.11.2                pypi_0    pypi
tk                        8.6.11               h1ccaba5_0  
torchaudio                0.7.0                      py37    pytorch
torchvision               0.8.1                  py37_cpu  [cpuonly]  pytorch
tornado                   6.1              py37h27cfd23_0  
typing_extensions         3.10.0.2           pyh06a4308_0  
wheel                     0.37.1             pyhd3eb1b0_0  
xz                        5.2.5                h7b6447c_0  
zlib                      1.2.11               h7f8727e_4  
zstd                      1.4.9                haebb681_0

似乎有很多东西说cpuonly,但我不确定他们是怎么来的,因为我没有安装他们。
我正在运行Ubuntu版本20.04.4 LTS

m528fe3b

m528fe3b1#

我在尝试安装带有CUDA 11.1的Pytorch时遇到了类似的问题。尽管the anaconda站点明确列出了带有CUDA 11.1的Pytorch预构建版本,但conda仍然尝试安装cpu-only版本。经过大量的尝试和失败,我意识到包torchvision torchaudio是问题的根源。因此,只安装PyTorch就可以解决这个问题:

conda install pytorch cudatoolkit=11.1 -c pytorch -c nvidia
6rqinv9w

6rqinv9w2#

我相信我有以下错误的事情阻止了我使用Cuda。尽管已经安装了cuda,但nvcc --version命令指示Cuda没有安装,所以我所做的是使用this answer将其添加到路径中。
尽管这样做并删除了我原来的conda环境,并再次使用conda install pytorch torchvision torchaudio cudatoolkit=11.3 matplotlib scipy opencv -c pytorch命令,但在评估torch.cuda.is_available()时,我仍然得到了False
然后我使用这个命令conda install pytorch torchvision torchaudio cudatoolkit=10.2 matplotlib scipy opencv -c pytorch将cudatoolkit从版本11.3更改为版本10.2,然后它工作了!
现在torch.cuda.is_available()的计算结果为True
不幸的是,Cuda10.2版与我的RTX 3060 gpu不兼容(我想它并不是与所有的RTX 3000卡都兼容)。Cuda11.0版给我错误,而Cuda11.3版出于某种原因只安装了CPU版本。尽管Cuda11.1版工作得很完美!

这是我最后用来让它工作的命令:pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

cngwdvgl

cngwdvgl3#

在conda的虚拟环境中安装jupyter解决了我的问题。我遇到了同样的问题,即使pytorch和cuda都安装了,而且!nvidia-smi显示GPU,但当试图访问jupyter笔记本电脑时,它只显示cpu。
虽然我试图从命令行 Torch 是找到CUDA,但从jupyter是不显示,所以我只是pip安装jupyter的虚拟环境的康达和后,问题得到解决。

相关问题