Traceback (most recent call last): File "D:\AAAA\HybridNets-main 原版+V4 小数据800张 验证370 - 副本\HybridNets-main\train.py", line 315, in <module> train(opt) File "D:\AAAA\HybridNets-main 原版+V4 小数据800张 验证370 - 副本\HybridNets-main\train.py", line 206, in train model = model.cuda() File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 491, in cuda return self._apply(lambda t: t.cuda(device)) File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 387, in _apply module._apply(fn) File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 387, in _apply module._apply(fn) File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 387, in _apply module._apply(fn) File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 409, in _apply param_applied = fn(param) File "D:\ana\envs\a1\lib\site-packages\torch\nn\modules\module.py", line 491, in <lambda> return self._apply(lambda t: t.cuda(device)) File "D:\ana\envs\a1\lib\site-packages\torch\cuda\__init__.py", line 164, in _lazy_init raise AssertionError("Torch not compiled with CUDA enabled") AssertionError: Torch not compiled with CUDA enabled
时间: 2025-07-10 22:36:30 浏览: 15
<think>好的,我现在需要帮助用户解决PyTorch中出现的“Torch not compiled with CUDA enabled”错误。首先,我应该回忆一下自己之前处理类似问题的经验,或者查阅相关的资料。根据用户提供的引用内容,看起来这个问题主要是因为PyTorch没有正确安装支持CUDA的版本,或者CUDA环境配置有问题。
首先,用户遇到的错误信息是当运行PyTorch程序时,断言失败,提示Torch没有启用CUDA编译。这可能意味着用户安装的是CPU版本的PyTorch,或者他们的系统上的CUDA工具包没有正确安装或版本不匹配。
接下来,我需要根据提供的引用内容来梳理解决方案。根据引用[1],问题出现的原因可能包括PyTorch未安装GPU版本、CUDA未安装或版本不匹配。引用[3]提到,环境中的PyTorch版本与CUDA版本不匹配,或者完全安装的是CPU版本。引用[4]则详细说明了如何检查CUDA是否安装,并正确安装对应版本的CUDA和cuDNN。
因此,解决步骤应该包括以下几个部分:
1. 确认CUDA是否安装,并检查版本。
2. 确认PyTorch是否安装了支持CUDA的版本。
3. 如果PyTorch安装不正确,重新安装对应CUDA版本的PyTorch。
4. 验证安装后的环境是否正常工作。
现在,我需要把这些步骤具体化,确保用户能够逐步操作。首先,用户需要检查CUDA是否安装,可以通过命令行运行`nvcc --version`或者`nvidia-smi`来查看。如果CUDA没有安装,需要去NVIDIA官网下载对应版本的CUDA工具包,例如推荐11.3版本,并安装cuDNN。然后,用户需要检查PyTorch的安装版本是否正确,使用`torch.cuda.is_available()`来测试。如果返回False,说明PyTorch不支持CUDA,需要到PyTorch官网使用正确的安装命令,比如根据CUDA版本选择`conda install`或`pip install`的命令,安装对应的GPU版本。
另外,用户可能在使用PyCharm时遇到这个问题,如引用[2]所述,这时候需要确保PyCharm中的Python解释器环境配置正确,指向安装了GPU版PyTorch的环境。可能需要检查虚拟环境或全局环境的设置。
需要注意的常见错误包括:安装了CPU版本的PyTorch,或者PyTorch和CUDA版本不兼容。例如,如果用户安装了CUDA 11.3,但PyTorch是为CUDA 11.6编译的,也会出现问题。因此,正确匹配版本是关键。
最后,用户可能需要重启终端或IDE,以确保环境变量生效。如果所有步骤都正确,但问题仍然存在,可能需要彻底卸载PyTorch后重新安装,或者检查系统驱动是否更新到最新支持CUDA的版本。
总结下来,解决步骤应该是结构清晰的,分点说明,每个步骤给出具体的命令或操作,帮助用户逐步排查和解决问题。同时,生成的相关问题需要围绕可能的原因和解决方法展开,比如如何检查CUDA版本,如何选择正确的PyTorch安装命令等。</think>### PyTorch AssertionError "Torch not compiled with CUDA enabled" 解决方案
#### 1. 确认CUDA环境
- **检查CUDA是否安装**
在终端运行以下命令:
```bash
nvcc --version # 显示CUDA编译器版本
nvidia-smi # 显示GPU驱动支持的CUDA最高版本
```
若提示`nvcc`未找到,说明未安装CUDA[^4]。需前往[NVIDIA CUDA下载页](https://developer.nvidia.com/cuda-downloads)安装对应版本(推荐11.3或与PyTorch兼容的版本)。
- **安装cuDNN**
从[NVIDIA cuDNN页面](https://developer.nvidia.com/cudnn)下载与CUDA版本匹配的cuDNN,并按官方说明配置。
---
#### 2. 检查PyTorch版本
- **验证PyTorch是否支持CUDA**
在Python中运行以下代码:
```python
import torch
print(torch.cuda.is_available()) # 应输出True
```
若返回`False`,说明当前PyTorch为CPU版本[^3]。
- **重新安装GPU版PyTorch**
根据CUDA版本选择正确的安装命令(以CUDA 11.3为例):
```bash
# Conda安装
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
# Pip安装
pip install torch torchvision --extra-index-url https://download.pytorch.org/whl/cu113
```
其他版本参考[PyTorch官方安装指南](https://pytorch.org/get-started/locally/)。
---
#### 3. 配置开发环境
- **PyCharm用户注意事项**
确保项目使用的Python解释器路径指向已安装GPU版PyTorch的环境(如虚拟环境或全局环境)[^2]。
---
#### 4. 验证修复结果
- **完整测试脚本**
```python
import torch
print("CUDA可用:", torch.cuda.is_available()) # 应输出True
print("PyTorch版本:", torch.__version__) # 确认版本号
print("CUDA版本:", torch.version.cuda) # 应与安装的CUDA一致
print("当前设备:", torch.device("cuda:0" if torch.cuda.is_available() else "cpu"))
```
---
#### 常见错误排查
| 问题现象 | 解决方案 |
|-------------------------|-----------------------------------|
| `nvcc`未找到 | 重新安装CUDA并配置环境变量 |
| PyTorch版本与CUDA不匹配 | 使用`conda list`检查版本,重新安装匹配版本 |
| PyCharm环境未切换 | 在设置中手动选择正确解释器路径[^2] |
阅读全文
相关推荐



















