无法使用带有水蟒的PyTorch Cuda

时间:2018-11-01 13:37:55

标签: anaconda conda pytorch pycuda

我正在使用水蟒来调节我的环境, 对于一个项目,我必须使用我的GPU进行网络培训。 我将pytorch用于我的项目,并且正在尝试使CUDA正常工作。

我安装了cudatoolkit,numba,cudnn

不过,当我尝试此命令时:

torch.cuda.is_available()

我得到“ False”作为输出。 这是我的环境:

# Name                    Version                   Build  Channel
blas                      1.0                         mkl  
bzip2                     1.0.6                h470a237_2    conda-forge
ca-certificates           2018.03.07                    0  
cairo                     1.14.12              he6fea26_5    conda-forge
certifi                   2018.8.24                py35_1  
cffi                      1.11.5           py35he75722e_1  
cloudpickle               0.5.5                    py35_0  
cudatoolkit               9.2                           0    anaconda
cudnn                     7.2.1                 cuda9.2_0    anaconda
cycler                    0.10.0                     py_1    conda-forge
cython                    0.28.5           py35hf484d3e_0    anaconda
dask-core                 0.19.2                   py35_0  
dbus                      1.13.0               h3a4f0e9_0    conda-forge
decorator                 4.3.0                    py35_0  
expat                     2.2.5                hfc679d8_2    conda-forge
ffmpeg                    4.0.2                ha0c5888_1    conda-forge
fontconfig                2.13.1               h65d0f4c_0    conda-forge
freetype                  2.9.1                h6debe1e_4    conda-forge
gettext                   0.19.8.1             h5e8e0c9_1    conda-forge
giflib                    5.1.4                h470a237_1    conda-forge
glib                      2.55.0               h464dc38_2    conda-forge
gmp                       6.1.2                hfc679d8_0    conda-forge
gnutls                    3.5.19               h2a4e5f8_1    conda-forge
graphite2                 1.3.12               hfc679d8_1    conda-forge
gst-plugins-base          1.12.5               hde13a9d_0    conda-forge
gstreamer                 1.12.5               h61a6719_0    conda-forge
harfbuzz                  1.9.0                h08d66d9_0    conda-forge
hdf5                      1.10.2               hc401514_2    conda-forge
icu                       58.2                 hfc679d8_0    conda-forge
imageio                   2.4.1                    py35_0  
intel-openmp              2019.0                      118  
jasper                    1.900.1              hff1ad4c_5    conda-forge
jpeg                      9c                   h470a237_1    conda-forge
kiwisolver                1.0.1            py35h2d50403_2    conda-forge
libedit                   3.1.20170329         h6b74fdf_2  
libffi                    3.2.1                hd88cf55_4  
libgcc-ng                 8.2.0                hdf63c60_1  
libgfortran               3.0.0                         1    conda-forge
libgfortran-ng            7.3.0                hdf63c60_0  
libiconv                  1.15                 h470a237_3    conda-forge
libopenblas               0.3.3                h5a2b251_3  
libpng                    1.6.35               ha92aebf_2    conda-forge
libstdcxx-ng              8.2.0                hdf63c60_1  
libtiff                   4.0.9                he6b73bb_2    conda-forge
libuuid                   2.32.1               h470a237_2    conda-forge
libwebp                   0.5.2                         7    conda-forge
libxcb                    1.13                 h470a237_2    conda-forge
libxml2                   2.9.8                h422b904_5    conda-forge
llvmlite                  0.24.0           py35hdbcaa40_0  
matplotlib                3.0.0            py35h0b34cb6_1    conda-forge
mkl                       2019.0                      118  
mkl_fft                   1.0.6                    py35_0    conda-forge
mkl_random                1.0.1                    py35_0    conda-forge
ncurses                   6.1                  hf484d3e_0  
nettle                    3.3                           0    conda-forge
networkx                  2.1                      py35_0  
ninja                     1.8.2            py35h6bb024c_1  
numba                     0.39.0           py35h04863e7_0  
numpy                     1.15.2           py35h1d66e8a_0  
numpy-base                1.15.2           py35h81de0dd_0  
olefile                   0.46                     py35_0  
openblas                  0.2.20                        8    conda-forge
opencv                    3.4.1            py35h6fd60c2_1  
opencv-python             3.4.3.18                  <pip>
openh264                  1.7.0                         0    conda-forge
openssl                   1.0.2p               h14c3975_0  
pandas                    0.23.4           py35h04863e7_0  
pcre                      8.41                 hfc679d8_3    conda-forge
pillow                    5.2.0            py35heded4f4_0  
Pillow                    5.3.0                     <pip>
pip                       10.0.1                   py35_0  
pixman                    0.34.0               h470a237_3    conda-forge
pthread-stubs             0.4                  h470a237_1    conda-forge
pycparser                 2.19                     py35_0  
pyparsing                 2.2.2                      py_0    conda-forge
pyqt                      5.6.0            py35h8210e8a_7    conda-forge
python                    3.5.6                hc3d631a_0  
python-dateutil           2.7.3                      py_0    conda-forge
pytorch                   0.4.1           py35_py27__9.0.176_7.1.2_2    pytorch
pytz                      2018.5                   py35_0  
pywavelets                1.0.0            py35hdd07704_0  
qt                        5.6.2                hf70d934_9    conda-forge
readline                  7.0                  h7b6447c_5  
scikit-image              0.14.0           py35hf484d3e_1  
scipy                     1.1.0            py35hfa4b5c9_1  
setuptools                40.2.0                   py35_0  
sip                       4.18.1           py35hfc679d8_0    conda-forge
six                       1.11.0                   py35_1    conda-forge
sqlite                    3.25.2               h7b6447c_0  
tk                        8.6.8                hbc83047_0  
toolz                     0.9.0                    py35_0  
torchvision               0.1.9            py35h72e4c6f_1    soumith
tornado                   5.1.1            py35h470a237_0    conda-forge
wheel                     0.31.1                   py35_0  
x264                      1!152.20180717       h470a237_1    conda-forge
xorg-kbproto              1.0.7                h470a237_2    conda-forge
xorg-libice               1.0.9                h470a237_4    conda-forge
xorg-libsm                1.2.2                h8c8a85c_6    conda-forge
xorg-libx11               1.6.6                h470a237_0    conda-forge
xorg-libxau               1.0.8                h470a237_6    conda-forge
xorg-libxdmcp             1.1.2                h470a237_7    conda-forge
xorg-libxext              1.3.3                h470a237_4    conda-forge
xorg-libxrender           0.9.10               h470a237_2    conda-forge
xorg-renderproto          0.11.1               h470a237_2    conda-forge
xorg-xextproto            7.3.0                h470a237_2    conda-forge
xorg-xproto               7.0.31               h470a237_7    conda-forge
xz                        5.2.4                h14c3975_4  
zlib                      1.2.11               ha838bed_2 

我的台式机具有NVIDIA GeForce GTX 970(因此可以使用cuda) 同样由于某种原因,正如您在此处看到的一样:

About my system

我的图形卡没有显示,但是在使用

lspci -v

命令,我可以在那里看到我的图形卡。不知道这是否与它有关。谁知道我该如何解决?

3 个答案:

答案 0 :(得分:1)

已修复: 我单独安装了CUDA,而不是通过anaconda安装了,现在它可以工作了。如果有人知道为什么在Anaconda中安装cuda时无法正常工作,请随时回答

答案 1 :(得分:0)

您的CUDA安装需要与您的NVidia驱动程序兼容(Anaconda尚未安装)。我在Windows上使用Anaconda也有类似的事情。我忽略了torch.cuda.is_available()检查,并尝试通过以下方式将模型发送到GPU:

device = torch.device("cuda")
model.to(device)

这给出了更有用的信息:

The NVIDIA driver on your system is too old (found version 10010).
Please update your GPU driver by downloading and installing a new
version from the URL: http://www.nvidia.com/Download/index.aspx
Alternatively, go to: https://pytorch.org to install
a PyTorch version that has been compiled with your version
of the CUDA driver.

答案 2 :(得分:0)

您需要使用https://pytorch.org/get-started/locally/一次性安装pytorch来构建anaconda命令。

使用anaconda中的标准配置,您将得到:

conda install pytorch torchvision cudatoolkit=10.2 -c pytorch

((请始终检查https://pytorch.org/get-started/locally/此命令是否仍是最新的。)

您似乎需要正确的cuda版本10.2软件包以与pytorch可以处理的内容保持一致。这就是@RussellGallop的有用信息的意思。

我们可以看到,不建议分别安装pytorch和cuda,并建议根据您的回答建议安装Anaconda

Anaconda是我们推荐的软件包管理器,因为它会安装所有依赖项。

(注意:如果遇到问题,最好卸载所有涵盖的软件包,并应用https://pytorch.org/get-started/locally/重新获得该命令,而不是尝试通过单独的安装进行修复。如果要卸载,则可以需要使用与安装完全相同的命令,但要使用“ conda卸载”。再次需要“一次执行”卸载是pytorch敏感安装的另一个提示,并且单独安装是有风险的。请参阅{{3} })