本文给出了一个快速检测torch环境的代码。

部分读者在部署YOLO目标检测框架时遇到NVIDIA显卡未正常调用的问题,当指定使用GPU设备(device=0)时,系统抛出硬件资源分配异常。如以下报错。

ValueError: Invalid CUDA 'device=0' requested. Use 'device=cpu' or pass valid CUDA device(s) if available, i.e. 'device=0' or 'device=0,1,2,3' for Multi-GPU. 

总之就是有N卡却无法使用N卡进行训练,这时候更改为device为cpu可以正常训练,特别是我的以下环境配置及训练数据的教程中。

深度学习目标检测:yolov8(Ultralytics)环境配置,适合0基础小白,超详细-CSDN博客文章浏览阅读4.9w次,点赞257次,收藏1k次。深度学习目标检测yolov8小白教程环境搭建,超级简单的教程,纯新手方便理解,一看就会。_ultralytics https://blog.csdn.net/qq_67105081/article/details/137519207

目标检测:yolov8(ultralytics)训练自己的数据集,新手小白也能学会训练模型,一看就会_yolov8s-CSDN博客文章浏览阅读3.9w次,点赞273次,收藏1k次。很简单小白也可以轻松看懂并实现的yolov8教程!先配置环境,再获取制作自己的数据集,然后修改配置训练,最后验证训练结果,附带可视化界面。yolov8训练起来较为简单,如果有其他目标检测的数据集理论上可以直接拿来用,从第3训练模型开始看,新手小白0基础建议一步一步跟着来,哪里看不懂的或者遇到哪有问题可以评论区交流或者私信问~_yolov8s https://blog.csdn.net/qq_67105081/article/details/137545156?spm=1001.2014.3001.5502

目标检测:YOLOv11(Ultralytics)环境配置,适合0基础纯小白,超详细_yolov11环境配置-CSDN博客文章浏览阅读7.7w次,点赞299次,收藏1.2k次。深度学习目标检测YOLOv11小白教程环境搭建,超级简单的教程,纯新手方便理解,一看就会。_yolov11环境配置 https://blog.csdn.net/qq_67105081/article/details/143270109?spm=1001.2014.3001.5502

超详细目标检测:YOLOv11(ultralytics)训练自己的数据集,新手小白也能学会训练模型,手把手教学一看就会-CSDN博客文章浏览阅读3.7w次,点赞227次,收藏902次。对电脑小白也很简单的yolov11教程!训练自己的数据集分为4部分,先配置环境,再获取制作自己的数据集,然后修改配置训练,最后验证训练结果,附带可视化界面。YOLOv11为Ultralytics公司YOLO系列实时目标检测器的最新迭代版本,训练流程与YOLOv8基本一致,仅替换了新的网络结构与预训练权重,如果有其他目标检测的数据集可以直接拿来用,从第3训练模型开始看,新手小白0基础建议一步一步跟着来,哪里看不懂的或者遇到哪有问题可以发到评论区交流~_yolov11 https://blog.csdn.net/qq_67105081/article/details/143402823?spm=1001.2014.3001.5502原因是因为我发现很多不是从头到尾按照我的这些教程做的,而是看了很多篇教程拼凑起来的一个环境,导致了使用的torch及一些关键python库的版本与我教程中所使用的不一致,导致出现一些问题,而且这些问题本质上使用我教程中的指令去下载是不会出现这些报错的,因此我给出一个查看pytorch等库版本的代码,以及我所使用的非常稳定的版本。

# 作者:CSDN-笑脸惹桃花 https://blog.csdn.net/qq_67105081?type=blog

import sys
import platform
import importlib.metadata
from typing import Optional

def check_module_version(module_name: str) -> Optional[str]:
    try:
        return importlib.metadata.version(module_name)
    except importlib.metadata.PackageNotFoundError:
        return None

def check_environment():
    # 系统信息
    print("=" * 50)
    print("System and Environment Information")
    print("=" * 50)
    print(f"Operating System: {platform.system()}")
    print(f"Python Version: {sys.version}")
    print(f"Python Executable: {sys.executable}")
    print("\nPython Sys Path:")
    for path in sys.path:
        print(f"  {path}")
    # 分隔线
    print("\n" + "=" * 50)
    print("Deep Learning Libraries")
    print("=" * 50)
    # 检查 PyTorch
    try:
        import torch
        print(f"PyTorch Version: {torch.__version__}")
        print(f"PyTorch CUDA Version: {torch.version.cuda}")
        print(f"PyTorch CUDA Available: {torch.cuda.is_available()}")
        if torch.cuda.is_available():
            print(f"CUDA Device Count: {torch.cuda.device_count()}")
            for i in range(torch.cuda.device_count()):
                print(f"  GPU {i}: {torch.cuda.get_device_name(i)}")
        else:
            print("No CUDA-capable GPU detected.")
    except ImportError:
        print("PyTorch not installed.")

    # 检查其他常用库
    print("\nOther Dependencies:")
    libraries = ["numpy", "opencv-python", "pillow", "matplotlib", "scipy"]
    for lib in libraries:
        version = check_module_version(lib)
        print(f"{lib}: {version if version else 'Not installed'}")

if __name__ == "__main__":
    check_environment()

使用这个代码运行后会出现具体的版本,可以根据这个版本确定问题出在哪里。

torch的具体版本为2.0.0+cu118,而且下面的cuda版本为11.8,与cu118相对应。如果出现torch版本中带有cpu,则需要按照教程重新配置环境。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐