【已解决】RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

查找问题时,大多数解决方式是调小 batchsize 和换一张卡跑,都尝试过之后发现没有解决。

之后又查到了一些解决方式:

  1. cuDNN 内部错误:

    • 尝试升级到最新版本的 cuDNN,以确保与使用的 PyTorch 版本兼容。
    • 检查 CUDA 和 cuDNN 版本是否与 PyTorch 兼容,有时版本不匹配会导致问题。
    • 考虑调整 cuDNN 的配置参数,如设置 torch.backends.cudnn.deterministic = True 或 torch.backends.cudnn.enabled = False
  2. 处理断言错误:

    • 检查代码中涉及的 Loss.cu 文件的相关部分,确保输入数据的范围在预期范围内。
    • 确保在计算损失函数时,输入数据的取值范围符合函数的要求。可能需要检查数据预处理或损失函数的实现。
  3. 调试和日志:

    • 在出现问题的地方添加日志记录或调试语句,以查看输入数据的值,有助于找出导致错误的具体原因。
    • 尝试使用 PyTorch 的内置调试工具,如 torch.autograd.set_detect_anomaly(True),以帮助找出反向传播过程中的问题。

 第一种尝试之后没有解决,然后看到第二种,损失函数的影响,然后想到了自己设置的是BCELoss,修改之后就解决问题了。

解决:BCELoss() 改成 BCEWithLogitsLoss()

### Bubbliiiing 的定义与背景 Bubbliiiing 是一位活跃于 GitHub 平台的技术开发者,专注于计算机视觉领域中的目标检测、图像分割等相关算法的研究与实现[^1]。其贡献主要体现在多个开源项目中,这些项目提供了从基础框架搭建到具体应用的完整解决方案。 #### 技术方向概述 Bubbliiiing 提供了一系列基于 PyTorch 实现的目标检测和语义分割工具包,其中包括但不限于 YOLOv7、DeepLabV3+[^2] 和 UNet[^3] 等经典模型。这些项目的共同特点是通过详细的文档说明和技术支持帮助用户快速上手并完成自定义数据集上的训练与推理任务。 以下是几个典型项目及其功能描述: - **YOLOv7-Pytorch**: 支持用户利用预训练权重对新数据集进行微调操作,并提供灵活配置选项以便调整超参数设置来优化性能表现。 - **DeepLabV3+-Pytorch**: 主要解决像素级分类问题,在城市场景解析等领域具有广泛应用价值;同时也涵盖了常见错误排查指南以辅助使用者解决问题。 - **UNet Semantic Segmentation Platform**: 基于 LabelMe 工具标注图片后导入至该平台完成端到端学习流程演示。 此外还存在关于如何修改源码适应特定需求的文章指导[^4],例如调整 `Train.py` 文件内的路径变量指向本地存储位置或是替换默认使用的 backbone 架构等实际案例分析。 ```python # 示例:加载预训练模型权重 import torch from yolov7.models.experimental import attempt_load weights_path = 'path/to/your/model.pth' device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') model = attempt_load(weights_path, map_location=device) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值