深度学习环境搭建问题解决方案

问题描述在使用虚拟机运行深度学习模型时,遇到了CUDA与PyTorch不兼容的问题,具体报错为:AssertionError: Torch not compiled with CUDA enabled。此外,虚拟机无法使用主机的GPU资源。针对这种情况,我们采取了以下步骤进行解决:

1. 确认系统和硬件配置

  • 显卡型号:4060
  • CUDA版本:12.2

2. 检查PyTorch与CUDA的兼容性

  • 访问PyTorch官网,查看当前支持的CUDA版本。目前官网只更新到CUDA 12.1。

3. 解决方法

  • 由于虚拟机无法调用主机GPU,我们选择下载Windows版本的PyTorch,以便直接利用主机的硬件资源。

4. 下一步计划

  • 考虑到PyTorch官网尚未更新支持CUDA 12.2,我们将关注官网的更新动态,同时寻找社区提供的兼容版本或等待官方发布。

5. 其他建议

  • 检查系统环境变量,确保CUDA相关的路径正确设置。
  • 尝试使用Docker等容器技术,它可能提供更灵活的CUDA版本支持。

结论虽然当前PyTorch官方版本尚未支持CUDA 12.2,但通过下载Windows版本并利用主机资源,我们可以暂时绕过这一问题。同时,我们将持续关注官方更新,并探索其他可能的解决方案。


最近在进行深度学习开发时,遇到了CUDA版本与PyTorch不兼容的问题。经过一番研究,找到了一个相对简便的解决方案,现在分享给大家:

  1. 安装Anaconda:首先需要下载并安装Anaconda。在安装过程中,请确保选择的文件夹是一个空文件夹,否则可能会遇到错误。

  2. 打开Anaconda Prompt:安装完成后,在开始菜单中找到并点击Anaconda,选择打开类似于Linux系统的终端,即Anaconda Prompt。

  3. 下载最新PyTorch:在Anaconda Prompt中,直接下载最新版本的PyTorch。意外的是,我发现最新版PyTorch能够与我的CUDA版本兼容,并且可以正常使用。 通过以上步骤,无需降级CUDA,就可以解决兼容性问题,希望这个方法对大家有所帮助。

 打开之后,创建环境:

1
conda create -n pytorch python=3.8

pytorch是我自己定义的名字,可以根据自己的选择进行更改。

之后输入

conda activate torch

出现如下图所示的便为激活成功:

然后便可以去官网下载pytorch,建议下载stable版本的。

1
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

由于网站是国外的原因,下载速度是很感人的,因此可以通过以下命令添加镜像源,下载速度会快一些(比不添加快一点只是,不知道怎么回事,和虚拟机上面的速度没法比)

1
2
3
4
5
6
7
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

conda config --set show_channel_urls yes

然后再把上面的pytorch下载链接改为如下的:

1
conda install pytorch torchvision torchaudio pytorch-cuda=12.1

在使用Anaconda解决环境问题时,如果遇到权限问题,例如EnvironmentNotWritableError,这通常意味着当前用户没有足够的权限来修改目标环境。解决这个问题的一个方法是以管理员身份运行Anaconda Powershell Prompt。以下是具体的步骤:

  1. 打开Anaconda Powershell Prompt。2. 选择以管理员身份运行。3. 运行命令python进入Python环境。4. 然后根据需要输入相应的命令。 完成上述步骤后,为了确保CUDA和PyTorch的兼容性,需要检查它们是否匹配。这通常涉及到以下几个方面:
  • 确认CUDA的版本是否与PyTorch版本兼容。
  • 确保安装的PyTorch版本支持当前的CUDA版本。 如果一切设置正确,你的环境应该能够正常工作。
1
import torch

然后,

1
torch.cuda.is_available()

如果返回True,便代表安装成功