Pytorch框架下yolo环境搭建过程

 更新时间:2025年09月04日 08:53:42   作者:D1NG-  
文章详细介绍了在Windows系统下安装CUDA 11.8和CUDNN 8.9.7,配置PyTorch环境,安装YOLO库,并通过PyCharm验证深度学习框架的设置流程

1.Cuda和Cudnn安装(cuda11.8 cudnn 8.9.7)

1.1 Cuda

CUDA (Compute Unified Device Architecture) 是 NVIDIA 推出的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,加速通用计算任务(如科学计算、图形处理、深度学习等。以下是安装教程:

1. 在cmd命令行中输入nvidia-smi查看cuda版本,要下载的cuda不能高于这个版本

nvidia-smi

2. 进入nvidia cuda下载页面CUDA Toolkit Archive | NVIDIA Developer, 这里选择cuda 11.8版本

 3. 在这里选择windows, x86, version 11, exe(local),最后点download则开始下载

4.完成之后打开文件,点OK即可

5.继续点击同意并继续

6.选择精简并下一步

7.勾选I understand之后点击next

8.点击下一步,完成安装

9.验证安装:打开cmd并输入nvcc --version或者nvcc -V,如果显示一下信息则说明安装成功

nvcc --version

1.2 cudnn

cuDNN (Cuda Deep Neural Network Library) 是 NVIDIA 针对深度学习优化的高性能 GPU 加速库,专注于神经网络原语的实现(如卷积、池化、激活函数等)。它是 CUDA 的上层补充,专为深度学习框架(如 TensorFlow、PyTorch)提供底层加速支持。

1.找到nvida cudnn下载官网,并点击archive of previous release

2.这里选择cudnn v8.9.7,选择的版本要与cuda匹配,点击local installer for windows即可下载

3. 在下载文件之前需要注册或者登陆,登陆之后就会开始下载

4.把下载好的文件解压之后会有三个文件夹,把这三个文件夹里的文件复制到对应的cuda文件夹内。也就是bin文件复制到cuda bin文件夹,include文件复制到cuda include文件夹,lib文件复制到cuda lib文件夹内。

cuda的文件路径是在C盘Program Files,Nvidia GPU Computing Toolkit文件夹内

2.pytorch下载

2.1 anaconda环境创建

1.在Anaconda中为PaddleOCR创建一个新的环境,如果没有安装Conda,可以去看windows系统下anaconda的安装和使用

打开Anaconda Prompt之后输入Conda Create -n Pytorch python=3.9

conda create -n Pytorch python=3.9

出现以下信息则说明创建成功

2.在环境创建完成之后输入Conda activate Pytorch激活环境

conda activate Pytorch

3.如果看到最左边从(base)变成(Pytorch)则说明环境激活成功。

2.2 pytorch下载

1.进入pytorch官网:PyTorch,下滑找到Install Pytorch。这里选择Stable版本,Windows,Pip,Python,CUDA11.8(与上面cuda版本对应即可)

2.复制下载链接到anaconda Pytorch环境中

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

出现以下信息则说明安装成功

3.yolo下载

1.下载完pytorch之后,直接继续输入pip install ultralytics

pip install ultralytics

出现一下信息则说明下载成功

4.pycharm环境配置和验证

1.新建一个项目,解释器类型选择自定义环境,选择现有,conda,选择刚刚创建的Pytorch环境,最后创建即可。

2.新建一个py文件,输入以下代码

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

3.点击运行之后可能需要点击链接下载图片,如果下载不了,就用链接https://ultralytics.com/images/bus.jpg 下载图片并把model()里的图片路径换成本地图片路径

4.如果出现以上信息,则说明安装成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python爬虫抓取时常见的小问题总结

    python爬虫抓取时常见的小问题总结

    这篇文章主要介绍了python爬虫抓取时常见的小问题总结,整理了部分新手在爬虫过程中遇到的问题,希望可以给大家提供一点问题解决的思路和参考,需要的小伙伴可以参考下面文章内容
    2022-05-05
  • Python实现PC屏幕截图并自动发送邮箱

    Python实现PC屏幕截图并自动发送邮箱

    这篇文章主要为大家详细介绍了如何使用Python实现一个屏幕截图应用程序,可以定时截取屏幕,并将截图通过电子邮件发送给指定的收件人,需要的可以参考下
    2024-12-12
  • 使用Python进行物联网设备的控制与数据收集

    使用Python进行物联网设备的控制与数据收集

    Python作为一种高效且易于学习的编程语言,已经成为开发物联网应用的首选语言之一,本文将探讨如何使用Python进行物联网设备的控制与数据收集,并提供相应的代码示例,需要的朋友可以参考下
    2024-05-05
  • Python的Asyncore异步Socket模块及实现端口转发的例子

    Python的Asyncore异步Socket模块及实现端口转发的例子

    asyncore模块是封装过的处理socket事件的模块,采用异步的处理方式,这里我们讲来讲解Python的Asyncore异步Socket模块及实现端口转发的例子,需要的朋友可以参考下
    2016-06-06
  • Python 文本文件内容批量抽取实例

    Python 文本文件内容批量抽取实例

    今天小编就为大家分享一篇Python 文本文件内容批量抽取实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python制作爬虫抓取美女图

    Python制作爬虫抓取美女图

    本文主要介绍了Python制作爬虫抓取美女图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2016-01-01
  • Pycharm 文件更改目录后,执行路径未更新的解决方法

    Pycharm 文件更改目录后,执行路径未更新的解决方法

    今天小编就为大家分享一篇Pycharm 文件更改目录后,执行路径未更新的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Django使用AJAX调用自己写的API接口的方法

    Django使用AJAX调用自己写的API接口的方法

    这篇文章主要介绍了Django使用AJAX调用自己写的API接口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Python 中最长公共子序列的长度

    Python 中最长公共子序列的长度

    子序列是在不改变剩余字符的顺序的情况下,在删除一些字符或不删除任何字符后从给定序列获得的序列,这篇文章主要介绍了Python 中的最长公共子序列,需要的朋友可以参考下
    2023-06-06
  • python实现图像随机裁剪的示例代码

    python实现图像随机裁剪的示例代码

    这篇文章主要介绍了python实现图像随机裁剪的示例代码,帮助大家更好的理解和使用python处理图片,感兴趣的朋友可以了解下
    2020-12-12

最新评论