AI环境搭建pytorch+yolo8搭建

AI环境搭建pytorch+yolo8搭建

概念

r 复制代码
Cuda就是英伟达用来操作显卡的,是用c++写的一个应用程式,或者说是库
Pytorch 就是python封装了一组能够操作Cuda的库(c++) 来操作显卡
Yolo就是在pytorch上又套了一层
标题
复制代码
参考配置
python 3.9
显卡P2000
cuda 11.8
torch 2.01

安装步骤1---是否有显卡驱动,可忽略

复制代码
1.安装英伟达显卡版本更新,不是必须步骤,主要是查看版本号,是否适合cuda版本,
也就是说显卡版本决定cuda的版本,cuda版本决定pytorch版本。
验证是否有显卡驱动,可以在cmd窗口执行:
nvidia-smi
如下,表示显卡驱动已经安装
ruby 复制代码
如果有显卡,没有驱动,可以去官方下载,或者升级驱动,官网搜索与显卡匹配的即可
显卡驱动版本升级或安装
https://www.nvidia.cn/drivers/lookup/

安装步骤2---安装对应显卡,所需的cuda

arduino 复制代码
2.需要安装英伟达的cuda驱动程式,来驱动显卡,选择什么版本,它是根据显卡驱动来的。
1.查询历史cuda的版本
https://developer.nvidia.com/cuda-toolkit-archive
2.我选择11.8版本

安装步骤3---安装python的库pytorch框架

perl 复制代码
3.项目中安装pytorch框架,来操作cuda,需要先用python创建一个项目,然后在该项目中安装pytorch包,就可以了。
1.查询历史版本的地址
https://pytorch.org/get-started/previous-versions/
2.找到我的安装命令,不同版本,命令不同
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118

代码测试1---在代码中测试一下,pytorch是否支持

python 复制代码
测试pytorch
def main():
    print("PyTorch 环境验证")
    print("=" * 40)
    
    # 1. 检查PyTorch是否安装
    try:
        import torch
        print(f"✓ PyTorch已安装: {torch.__version__}")
    except ImportError:
        print("✗ PyTorch未安装")
        print("安装命令: pip install torch")
        return
    
    # 2. 检查CUDA支持
    if torch.cuda.is_available():
        print(f"✓ CUDA可用: {torch.version.cuda}")
        print(f"  GPU数量: {torch.cuda.device_count()}")
        print(f"  GPU名称: {torch.cuda.get_device_name(0)}")
    else:
        print("○ CUDA不可用 (使用CPU)")
    
    # 3. 简单测试
    try:
        x = torch.randn(2, 2)
        y = torch.randn(2, 2)
        z = x + y
        print("✓ 基本操作正常")
        
        # 如果有GPU,测试GPU操作
        if torch.cuda.is_available():
            x_gpu = x.cuda()
            y_gpu = y.cuda()
            z_gpu = x_gpu + y_gpu
            print("✓ GPU操作正常")
            
    except Exception as e:
        print(f"✗ 测试失败: {e}")
        return
    
    print("\n环境验证完成!PyTorch可以正常使用。")




if __name__ == '__main__':
    main()

安装步骤4---安装yolo

arduino 复制代码
1.yolo的官网-参考安装命令,以及下载模型用的
https://docs.ultralytics.com/zh/
2.安装命令
pip install ultralytics
ruby 复制代码
# 1.下载yolo8的模型
https://docs.ultralytics.com/zh/models/yolov8/#performance-metrics

代码测试2---yolo能不能跑起来

python 复制代码
# 6.测试YOLO代码(AI写)
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
YOLO目标检测与OpenCV显示脚本,安装cv2(openCV只是为了显示图片)
import cv2
import os
from ultralytics import YOLO
def main():
    print("YOLO目标检测开始...")
    
    # 检查图片文件是否存在
    image_path = "bus.jpg"
    if not os.path.exists(image_path):
        print(f"错误: 图片文件 {image_path} 不存在")
        print("请将图片文件放在当前目录下,或修改image_path变量")
        return
    
    try:
        # 加载YOLO模型
        print("加载YOLO模型...")
        model = YOLO("yolov8n.pt")
        
        # 显示模型信息
        model.info()
        
        # 进行推理
        print(f"对图片 {image_path} 进行推理...")
        results = model(image_path)
        
        # 获取第一张图片的结果
        result = results[0]
        
        # 在图片上绘制检测框
        annotated_img = result.plot()
        
        # 使用OpenCV显示图片
        cv2.imshow('YOLO检测结果', annotated_img)
        
        # 打印检测信息
        print(f"\n检测到 {len(result.boxes)} 个目标:")
        if result.boxes is not None:
            for i, box in enumerate(result.boxes):
                class_id = int(box.cls[0])
                confidence = float(box.conf[0])
                class_name = model.names[class_id]
                print(f"  {i+1}. {class_name}: {confidence:.2f}")
        
        print("\n按任意键关闭窗口...")
        cv2.waitKey(0)
        cv2.destroyAllWindows()
        
        print("检测完成!")
        
    except Exception as e:
        print(f"错误: {e}")
        print("请确保已安装所需依赖: pip install ultralytics opencv-python")
if __name__ == '__main__':
    main()
相关推荐
学前端搞口饭吃2 小时前
react reducx的使用
前端·react.js·前端框架
aidingni8882 小时前
掌握 JavaScript 中的 Map 和 Set
前端·javascript
开心不就得了3 小时前
React 进阶
前端·javascript·react.js
Olrookie3 小时前
ruoyi-vue(十四)——前端框架及package.json,vite.config.js, main.js文件介绍
前端·笔记
jeff渣渣富3 小时前
Taro 2.x 分包优化实践:如何防止分包文件被打包到主包
前端·javascript
谢尔登3 小时前
【React】React 哲学
前端·react.js·前端框架
范男3 小时前
YOLO11目标检测运行推理简约GUI界面
图像处理·人工智能·yolo·计算机视觉·视觉检测
wow_DG3 小时前
【Vue2 ✨】Vue2 入门之旅 · 进阶篇(八):Vuex 内部机制
前端·javascript·vue.js
若年封尘3 小时前
吃透 Vue 样式穿透:从 scoped 原理到组件库样式修改实战
前端·javascript·vue.js·样式穿透·scoped