训练卷积神经网络遇CuDNN警告:需安装nvrtc.so,求解决方案
CuDNN警告问题解决指南
问题背景
训练以下卷积神经网络时:
def __init__(self, n_channels, n_classes): super().__init__() self.model = models.mobilenet_v3_large(pretrained=True) self.model.classifier[-1] = nn.Linear(1280, n_classes) self.model.features[0][0] = nn.Conv2d( n_channels, 16, kernel_size=(3, 3), stride=(2, 2), padding=(1, 1), bias=False, )
出现警告:
UserWarning: Applied workaround for CuDNN issue, install nvrtc.so
警告关联代码片段:
return F.conv2d(input, weight, bias, self.stride,
警告含义
这个提示说明PyTorch在执行卷积操作(F.conv2d)时,发现系统缺失nvrtc.so库——这是NVIDIA Runtime Compilation库的核心文件,CuDNN依赖它完成部分卷积运算的动态优化。PyTorch自动启用了兼容方案来维持训练,但可能会损失部分运算性能。
解决办法
- 匹配并重装CUDA工具包与驱动:确认NVIDIA驱动版本和CUDA工具包版本为官方推荐的兼容组合,重新安装CUDA工具包时勾选Runtime组件,
nvrtc.so会随工具包一同安装。 - 配置环境变量:Linux系统需将CUDA的lib目录添加到
LD_LIBRARY_PATH,执行命令(路径根据实际安装位置调整):
Windows系统则确保export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHCUDA_PATH和PATH包含CUDA的bin和libnvvp目录。 - 对齐PyTorch与CUDA版本:检查PyTorch版本是否支持当前CUDA版本,使用官方提供的pip/conda命令重新安装匹配版本的PyTorch。
- 临时屏蔽警告(不推荐):若暂时无法修复库问题,可通过代码过滤警告,但这仅能隐藏提示,无法解决性能损耗问题:
import warnings warnings.filterwarnings("ignore", message="Applied workaround for CuDNN issue, install nvrtc.so")
内容的提问来源于stack exchange,提问作者sadegh-pz
相关产品推荐
相关产品推荐

