【YOLO】目标检测第一步——pytorch环境配置

最近尝试caffe环境的配置,同样需要CUDA和cuDNN,所以我再次回顾这篇文章,我真是生气啊,感觉自己写得不清不楚的,路径啥的我都没记录。


背景:打算用python来实现yolov3,yolov3的实现方式可以有pytorch、openCV、Darknet、keras等,目前pytorch较为流行。
补充:在后来的学习中需要使用anaconda创建一个python的运行环境,在3.3和3.4节中就有说明。

1. PyTorch是什么

这是一个基于Python的科学计算包,其旨在服务两类场合:

  • 替代numpy发挥GPU潜能
  • 一个提供了高度灵活性和效率的深度学习实验性平台

参考链接:PyTorch深度学习:60分钟入门(Translation)

2. 找到pytorch

在这里推荐一个网站:Awesome Python,它几乎包含了ptyhon需要的所有库,同时也包含库的一个简略说明。在该页面搜索"pytorch",即可跳转pytorchGitHub说明页。
此外还有pytorch的官方网址

3. pytorch环境的搭建

操作系统:Win10

3.1 Anaconda安装

Anaconda是什么?为什么装?怎么装?

  • 是什么

    Tensors and Dynamic neural networks in Python with strong GPU acceleration.

    是一个集成的Python包以及环境,包含依赖项等,可以用来管理包,安装、运行应用。
    针对不能版本的Python,Anaconda可以帮助管理多个环境,可以提供一个更加快速和简单的方式来运行机器学习的相关代码。

  • 为什么装
    Pytorch在Github上的官方推荐。

    If you are installing from source, you will need Python 3.6.2 or later and a C++14 compiler. Also, we highly recommend installing an Anaconda environment. You will get a high-quality BLAS library (MKL) and you get controlled dependency versions regardless of your Linux distro.

  • 怎么装
    找到Anaconda的官方网址或是找到相关的博文,一些博主会把下载器放在百度网盘里,按照博主推荐的安装教程进行安装。
    我在安装的过程中,由于Anaconda是外网,出现登不上的情况,因此我直接从Bubbliiiing博主提供的百度网盘(提取码提取码: 8ggr)中,下载了旧版的Anaconda3,下载后打开Anaconda3会自动提示更新。
    安装教程可以参考:

    此外还可以在网上找到同时安装Anaconda2和Anaconda3的。Anaconda2对应的是python2,Anaconda3对应的是python3版本。

查看Anaconda版本信息
在命令提示符,输入:
conda -V
安装成功将提示版本号信息。
Conda是什么

Conda是一个开源的 ,跨平台的,包管理器和环境管理系统。它是为Python程序创建的,但它可以为任何语言(例如R语言)进行包管理和安装。Conda包和环境管理器包含在Anaconda,Miniconda,和Anaconda存储库的所有版本中。

安装教程
1.深度学习环境配置2——windows下的torch=1.2.0环境配置(Bubbliiiing)
2.有幸遇见-b站最全最简洁易学的深度学习环境配置教程(有幸被看的上上)

3.2 CUDA和cuDNN安装

  • 是什么

    CUDA(Compute Unified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员可以使用C语言来为CUDA™架构编写程序,所编写出的程序可以在支持CUDA™的处理器上以超高性能运行。CUDA3.0已经开始支持C++和FORTRAN。

    一个运算平台,促使GPU加速。
    关于cuDNN,在其官网上写着

    The NVIDIA CUDA® Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep neural networks. cuDNN provides highly tuned implementations for standard routines such as forward and backward convolution, pooling, normalization, and activation layers.

    深度神经网络库 (cuDNN) 是一个 GPU 加速的深度神经网络基元库。 cuDNN 可大幅度优化标准例程(例如前向和后向卷积、池化、归一化和激活层)的实施。

    需要CUDA和cuDNN同时促使GPU加速。

  • 为什么装
    官方推荐

    If you want to compile with CUDA support, install
    NVIDIA CUDA 10.2 or above
    NVIDIA cuDNN v7 or above
    Compiler compatible with CUDA Note: You could refer to the cuDNN Support Matrix for cuDNN versions with the various supported CUDA, CUDA driver and NVIDIA hardwares

  • 怎么装(详细安装步骤看下方“安装教程”链接)
    1.先下载CUDA。CUDA需要几个G的硬盘空间,如果C盘紧张需要先对C盘进行磁盘清理。
    打开官网选择相应的版本:
    在这里插入图片描述
    生成应用程序,双击打开,直接运行:
    在这里插入图片描述
    选择安装位置上我在D盘建了文件夹,其目录为:
    在这里插入图片描述
    CUDA Development和CUDA Documentation路径选择CUDA1,Samples路径选择CUDA2。

    安装后在C盘这个位置可以找到根目录:
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

  1. 再下载cuDNN。cuDNN的下载挺麻烦的,需要你提前在cuDNN官网进行注册,注意cuDNN与CUDA要相互匹配,官网有相应的引导提示,安装过程可以参考有幸遇见-b站最全最简洁易学的深度学习环境配置教程Anaconda+Pycharm,安装后解压得到该文件:
    在这里插入图片描述
    将该文件夹中选中的三个文件夹复制到D:\CUDA_manager\CUDA10.2\CUDA1下(即刚才CUDA的安装下:
    在这里插入图片描述

查看CUDA版本信息
在命令提示符,输入

nvcc --version

安装成功将提示版本号信息。
查看cuDNN版本信息
打开安装CUDA的文件夹,在include/cudnn_version.h就提示了版本信息:
在这里插入图片描述

安装教程
1.深度学习环境配置2——windows下的torch=1.2.0环境配置(Bubbliiiing)
2.有幸遇见-b站最全最简洁易学的深度学习环境配置教程(有幸被看的上上)
参考链接:详解Anaconda + 如何在Anaconda上更换python版本

3.3 配置torch环境(conda创建环境)

利用anaconda搭建一个python的环境,在命令提示符依次输入一下代码:
activate //进入base环境
conda create -n py37 python=3.7 //环境命名为py37,其中python版本指定为了3.7(-n是name的缩写)
conda activate py37 //激活py37环境(在上一步结束后,会有该条命令的提示)

python # 在该环境下查看python版本
exit()# 退出python

其他以后可能用到的命令
conda env list //查看所有环境


需要进入py37这个环境下安装pytorch。
进入pytorch官网,点击“install",由于我的CUDA版本正好有,所以选一下就有推荐的安装方式。
在这里插入图片描述
在py37环境下,输入以下代码:

pip3 install torch==1.10.0+cu102 torchvision==0.11.1+cu102 torchaudio===0.10.0+cu102 -f https://download.pytorch.org/whl/cu102/torch_stable.html

其中torchversion是计算机视觉中的辅助模块,如需删除pytorch,则输入下方代码:

pip uninstall torch torchvision torchaudio

查看torch版本信息
在终端py37环境下输入

# py37
python
import torch
print(torch.__version__)
print(torch.cuda.is_available()) # 检查GPU版本是否安装成功,一般GPU版本快于CPU

运行结果:

1.10.0+cu102
True

如果没有错误提示则表示成功安装,并显示版本信息。
其它依赖库的安装
当缺少某个库时:

# py37
pip install 库名

有些代码的实现不仅仅需要一个库,同时需要matplotlib、numpy等,当需要文件较多的时候,Bubbliiiing介绍了一种方法,创建一个文本文件,在环境下安装。该博主在b站也有相应的安装配置视频
在文本文件中输入想要加入的库,保存,在命令提示符py37环境下输入相应的代码:

# py37
pip install -r 创建文本文件的位置

当全部安装完成后重启电脑

3.4 安装编程环境

编程环境因人而异,有幸被看的上上使用的是pycharm,Bubbliiiing使用的是VSCode,两款软件我都进行了尝试,分别介绍这两个软件的配置。

  1. VSCode
    打开Anaconda,注意要把环境切换为自己创建的环境名字,我这里创建的是py37
    在这里插入图片描述
    需要在这个环境下运行VSCode。
    打开VSCode后,左下角环境也要对应。
    在这里插入图片描述

  2. Pycharm
    打开pycharm后,点击右下角“添加解释器”
    在这里插入图片描述
    这里需要选择的是Conda Environment,因为之前是利用conda创建的环境;
    接下来选择Existing environement;
    最后解释器是环境文件夹下python.exe可执行文件,Conda executable不进行修改。
    在这里插入图片描述

3.5 其他

  1. 环境修改
    上文我用anaconda创建了一个叫做“py37”的环境,而这个环境是我测试用的,我想创建一个名字更加直观环境基于yolo模型的目标检测,如“yolo_pytorch"。
    我想到的方法有:1) 重命名“py37”;2)对“py37”这个进行拷贝,拷贝出来的环境更名,删除原来的环境;3)从头开始创建一个新环境。
    通过查找发现,conda并没有重命名的指令,因此选用第二条思路,通过拷贝原环境,再将旧环境删除的方式。
    打开命令提示符:
    conda info -e #查看当前有哪些环境
    conda create -n 新名 --clone 旧名 # 克隆新的环境
    conda remove -n 旧名 --all # 删除旧环境
    conda info -e # 查看是否转换成功
    
    参考链接:conda 创建/删除/重命名 环境
    conda 查看已有环境
  2. Python版本修改
    在当前conda env(conda环境)内修改Python的版本(升级或者降级)

4. 所有版本信息

名称版本信息
Anaconda4.10.3
CUDA10.2
cuDNN8.3.0
pytorch1.10.0+cu102
vscode1.62.1
注意
CUDA、cuDNN和pytorch三种的版本信息是要相互匹配的,检查CUDA与torch是否匹配的方法见博文Pytorch错误:Torch not compiled with CUDA enabled
卸载第三方库的方法见博文Anaconda安装、查看、卸载第三方库
  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
YOLO系列是基于深度学习的端到端实时目标检测方法。 PyTorch版的YOLOv5轻量而性能高,更加灵活和易用,当前非常流行。 本课程将手把手地教大家使用labelImg标注和使用YOLOv5训练自己的数据集。课程实战分为两个项目:单目标检测(足球目标检测)和多目标检测(足球和梅西同时检测)。 本课程的YOLOv5使用ultralytics/yolov5,在Windows系统上做项目演示。包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、使用wandb训练可视化工具、训练自己的数据集、测试训练出的网络模型和性能统计。 希望学习Ubuntu上演示的同学,请前往 《YOLOv5(PyTorch)实战:训练自己的数据集(Ubuntu)》课程链接:https://edu.csdn.net/course/detail/30793  本人推出了有关YOLOv5目标检测的系列课程。请持续关注该系列的其它视频课程,包括:《YOLOv5(PyTorch)目标检测实战:训练自己的数据集》Ubuntu系统 https://edu.csdn.net/course/detail/30793Windows系统 https://edu.csdn.net/course/detail/30923《YOLOv5(PyTorch)目标检测:原理与源码解析》课程链接:https://edu.csdn.net/course/detail/31428《YOLOv5目标检测实战:Flask Web部署》课程链接:https://edu.csdn.net/course/detail/31087《YOLOv5(PyTorch)目标检测实战:TensorRT加速部署》课程链接:https://edu.csdn.net/course/detail/32303《YOLOv5目标检测实战:Jetson Nano部署》课程链接:https://edu.csdn.net/course/detail/32451《YOLOv5+DeepSORT多目标跟踪与计数精讲》课程链接:https://edu.csdn.net/course/detail/32669《YOLOv5实战口罩佩戴检测》课程链接:https://edu.csdn.net/course/detail/32744《YOLOv5实战中国交通标志识别》课程链接:https://edu.csdn.net/course/detail/35209《YOLOv5实战垃圾分类目标检测》课程链接:https://edu.csdn.net/course/detail/35284       
PyTorch是一个广泛用于机器学习和深度学习的开源框架。YOLO(You Only Look Once)是一种流行的目标检测算法,它通过将目标检测任务转化为一个回归问题,在一次前向传播中同时预测目标的边界框和类别。 使用PyTorch实现YOLO目标检测算法,需要以下步骤: 1. 数据准备:收集和标注图像数据集,标注每个图像中的目标位置和类别。 2. 网络模型定义:使用PyTorch定义YOLO网络模型。YOLO网络通常由卷积层、池化层和全连接层组成。网络的最后一层输出包含目标边界框的坐标和类别概率。 3. 损失函数定义:为了训练模型,需要定义损失函数。YOLO使用交叉熵损失函数来度量预测类别和真实类别之间的差异,以及预测边界框和真实边界框之间的差异。 4. 数据加载和预处理:使用PyTorch提供的数据加载函数加载和预处理图像数据集。预处理步骤可能包括图像缩放、裁剪、归一化和数据增强(如随机翻转、旋转等)。 5. 网络训练:使用加载的数据集和定义的网络模型进行训练。通过计算损失函数,并使用反向传播算法更新网络权重,来调整网络模型以更好地预测目标。 6. 目标检测:使用训练好的模型对新的图像进行目标检测。首先将图像输入网络,然后解码预测的边界框和类别概率,最后根据设定的阈值和非极大值抑制方法,确定最终的目标检测结果。 总之,使用PyTorch实现YOLO目标检测算法需要进行数据准备、网络模型定义、损失函数定义、数据加载和预处理、网络训练以及目标检测等步骤。这个过程可以通过PyTorch提供的丰富功能和易于使用的API实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙橙小狸猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值