Question: I have created a Python 3.7 conda virtual environment and installed the following packages using this command: conda install pytorch torchvision torchaudio cudatoolkit=11.3 matplotlib scipy opencv -c pytorch They install fine, but then when I come to run my program I get the following error which suggests that a CUDA enabled device is not found:  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.  I have an NVIDIA RTX 3060ti GPU, which as far as I am aware is cuda enabled, but whenever I go into the Python interactive shell within my conda environment I get False when evaluating torch.cuda.is_available() suggesting that perhaps CUDA is not installed properly or is not found. When I then perform a conda list to view my installed packages: # 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  There seems to be a lot of things saying cpuonly, but I am not sure how they came about, since I did not install them. I am running Ubuntu version 20.04.4 LTS

Answer: I believe I had the following things wrong that prevented me from using Cuda. Despite having cuda installed the nvcc --version command indicated that Cuda was not installed and so what I did was add it to the path using this answer. Despite doing that and deleting my original conda environment and using the conda install pytorch torchvision torchaudio cudatoolkit=11.3 matplotlib scipy opencv -c pytorch command again I still got False when evaluating torch.cuda.is_available(). I then used this command conda install pytorch torchvision torchaudio cudatoolkit=10.2 matplotlib scipy opencv -c pytorch changing cudatoolkit from verison 11.3 to version 10.2 and then it worked! Now torch.cuda.is_available() evaluates to True Unfortunately, Cuda version 10.2 was incompatible with my RTX 3060 gpu (and I'm assuming it is not compatible with all RTX 3000 cards). Cuda version 11.0 was giving me errors and Cuda version 11.3 only installs the CPU only versions for some reason. Cuda version 11.1 worked perfectly though! This is the command I used to get it to work in the end: 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