(省流:换旧版本)yolov5训练数据集时P, R等数据为0的解决方案 2022.2.24

博主分享了在从PyTorch 1.10.2(CUDA 11.3)降级到1.9.0(预期CUDA 10.2)过程中遇到的挑战,包括错误警告、模型表现异常和版本冲突。文章详细探讨了如何诊断问题并最终通过调整Python版本和CUDA设置来修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 (py 3.6 cuda 11.3 torch1.10.2 -> py 3.9 cuda 10.2 torch 1.9.0)

之前下载的pytorch版本是直接从Start Locally | PyTorch 中的start locally选择的1.10.2中下载的cuda版本11.3的指令,如下图.

 训练出的模型中results.png显示的像precision,mAP之类的图表全部不是0就是nan,混淆矩阵部分也全是FN.同时报错

UserWarning: Detected call of `lr_scheduler.step()` before `optimizer.step()`. In PyTorch 1.1.0 and later, you should call them in the opposite order: `optimizer.step()` before `lr_scheduler.step()`.  Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate

Previous PyTorch Versions | PyTorch 之后我选择下载历史版本1.9.0,pip安装指令如下:

pip install torch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0

 (其实这个是OSX的版本)数据恢复正常.但当我使用print(torch.version.cuda) 输出cuda版本时显示为10.2,我使用nvcc -V查询cuda版本时显示为11.3,usr/local中也不存在10.2的文件,但是还能用,奇奇怪怪.第二天报错:CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.For debugging consider passing CUDA_LAUNCH_BLOCKING=1.然后就寄掉惹.

使用pip安装,pytorch版本1.9.0,cuda11.3,报错UserWarning: CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up environment, e.g. changing env variable CUDA_VISIBLE_DEVICES after program start. Setting the available devices to be zero. (Triggered internally at  /pytorch/c10/cuda/CUDAFunctions.cpp:115.)
  return torch._C._cuda_getDeviceCount() > 0

此时数据正常,gpu_mem显示为0.

最后cuda10.2+pytorch1.9.0安装,发现import torch报错,将python版本切换为3.9,解决问题!

自用的检验方法:

import torch
print(torch.__version__) # PyTorch version
import torchvision
print(torchvision.__version__)

print(torch.version.cuda) # Corresponding CUDA version
print(torch.backends.cudnn.version()) # Corresponding cuDNN version
print(torch.cuda.get_device_name(0)) # GPU type

yolov5训练(train)的时候 P R 值为0_m0_59080342的博客-优快云博客    同样的情况

YOLOv5目标检测 - 迷途小书童的Note迷途小书童的Note  配置时使用的教程

### Anaconda 2022.9.0 版本安装教程 #### 下载地址 Anaconda 的官方下载页面提供了多个版本供用户选择。对于特定版本如 2022.9.0,可以通过访问其存档页面获取对应的安装包链接。具体地址为: [https://repo.anaconda.com/archive/](https://repo.anaconda.com/archive/) 在此页面中,找到 `Anaconda3-2022.09-Linux-x86_64.sh` 或其他对应操作系统的安装文件并下载。 --- #### 安装步骤概述 1. **准备工作** 确保计算机已安装 Python 支持的基础运行环境以及足够的磁盘空间。推荐至少预留 5GB 存储空间用于安装和后续扩展[^1]。 2. **执行安装脚本** 对于 Linux/Mac 用户,通过终端进入存储下载文件的目录,并运行以下命令完成安装: ```bash bash Anaconda3-2022.09-Linux-x86_64.sh ``` Windows 用户可以直接双击 `.exe` 文件启动图形化界面引导安装过程。 3. **配置环境变量** 在安装过程中会提示是否将 Anaconda 添加至系统 PATH 中,默认选项通常为 “Yes”。如果未选中,则需手动设置环境变量以便全局调用 conda 命令[^2]。 4. **验证安装成功与否** 打开一个新的 Terminal 或 Command Prompt 输入以下指令测试: ```bash conda --version python --version ``` --- #### 创建自定义子环境及其路径调整 为了更好地管理不同项目的依赖关系,建议利用 Conda 构建独立的工作区: ```bash conda create -n my_env python=3.9 ``` 若希望更改默认保存位置(例如迁移至 D:\),可按照如下方式设定新目标文件夹结构后再初始化相关参数: ```bash set CONDA_ENVS_PATH=D:\Anaconda3_Environments\envs set CONDA_PKGS_DIRS=D:\Anaconda3_Environments\pkgs ``` 之后重新激活 shell 来应用这些变更。 --- #### 集成 PyTorchYOLOv5 示例 一旦基础框架搭建完毕,就可以进一步引入深度学习工具集比如 PyTorch 和模型训练套件像 YOLOv5: ```bash # 切到指定虚拟环境中工作 conda activate your_project_name # 使用 pip 工具依据需求文档自动解析所需组件列表 pip install torch torchvision torchaudio pip install -r yolov5/requirements.txt ``` 以上程能够帮助快速部署基于 Anaconda 平台的数据科学解决方案[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值