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()
相关推荐
小兵张健4 小时前
价值1000的 AI 工作流:Codex 通用前端协作模式
前端·aigc·ai编程
sunny_4 小时前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js
拉不动的猪4 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
ayqy贾杰6 小时前
Agent First Engineering
前端·vue.js·面试
IT_陈寒6 小时前
SpringBoot实战:5个让你的API性能翻倍的隐藏技巧
前端·人工智能·后端
iceiceiceice7 小时前
iOS PDF阅读器段评实现:如何从 PDFSelection 精准还原一个自然段
前端·人工智能·ios
大金乄7 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
葡萄城技术团队8 小时前
【性能优化篇】面对万行数据也不卡顿?揭秘协同服务器的“片段机制 (Fragments)”
前端
程序员阿峰8 小时前
2026前端必备:TensorFlow.js,浏览器里的AI引擎,不写Python也能玩转智能
前端
Jans8 小时前
Shipfe — Rust 写的前端静态部署工具:一条命令上线 + 零停机 + 可回滚 + 自动清理
前端