【YOLO小白】程序员也该了解一下AI了

话不多说,写这篇文章主要是在实习期间,来自大佬的引导,本人还是一名大三学生,想着跟随时代科技发展。还有一年的时间,下去探索一下AI的世界。 作为一名毫无算法经验的程序员,想接触AI,可以先学会项目环境部署,项目启动,模型训练,编写项目接口。

本章先聊一聊yolo的部署,yolo项目的运行需要以下环境:

  • Anaconda3 ( 用于科学计算和数据分析的工具,支持不同版本的python,快速安装运行python包。。)
  • cuda(计算设备架构,使得gpu能够解决复杂的计算问题 -- 人工智能,图形渲染)
  • cudnn (用于深度神经网络的gpu加速库)
  • pytorch (机器学习库,用于构建和训练深度神经网络。

我自己的工具包位置:H:\安装包\yolo运行相关工具

安装python

安装教程,对于yolo项目建议使用的python版本 > 3.8

【附3.7安装包】python安装包下载及安装(超详细)_python3.7安装包-CSDN博客

Anaconda 安装

根据提供的安装包安装,安装成功后配置环境变量。教程如下:

Windows下Python3.9.13的安装教程(附安装包)-CSDN博客

CUDA 和 CUDNN 的安装

查看NVIDIA 控制面板,看电脑支持的版本

下载安装教程如下 (傻瓜式)从零开始Yolov5环境配置+训练_怎么把yolov5系统接入电脑环境-CSDN博客

github拉取项目 并 在pycharm 下运行

YOLOv5从源码下载到运行保姆级教程_yolov5下载-CSDN博客

yolo 模型训练

YOLOv8训练自己的数据集(超详细)-CSDN博客

除了看教程之外,我们也可以看一下项目文档,其实也是非常详细的。

python 复制代码
import torch

# Model
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # or yolov5n - yolov5x6, custom

# Images
img = "https://ultralytics.com/images/zidane.jpg"  # or file, Path, PIL, OpenCV, numpy, list

# Inference
results = model(img)

# Results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

上面是yolo文档提供的一个PyTorch库和Ultralytics的YOLOv5模型进行对象检测的代码。

  • torch.hub.load() 指定我们使用哪一个模型
  • 然后提供我们需要检测的对象地址
  • 调用model函数对图像进行推理
  • 最后,可以通过.print()方法打印结果,或者使用.show()、.save()、.crop()、.pandas()等方法对结果进行显示、保存、裁剪、转换为DataFrame等操作

那如何检测图像呢? 首先我们需要先训练 -》 预测 train.py 脚本就是用来训练的。 md 文档 给出的示例是这样的,简单解释一下

css 复制代码
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml  --batch-size 128

这段markdown提供了两种方式来运行一个名为train.py的Python脚本,用于训练一个图像分割模型

bash 复制代码
# Single-GPU
python classify/train.py --model yolov5s-cls.pt --data cifar100 --epochs 5 --img 224 --batch 128

# Multi-GPU DDP
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 classify/train.py --model yolov5s-cls.pt --data imagenet --epochs 5 --img 224 --device 0,1,2,3

单个GPU训练: 使用train.py命令来运行脚本,同时通过命令行参数传递一些配置信息:

  • --data coco128-seg.yaml:指定数据集的配置文件。
  • --weights yolov5s-seg.pt:指定预训练模型的权重文件。
  • --img 640:指定输入图像的大小为640x640像素。

多个GPU分布式训练: 使用python -m torch.distributed.run命令来运行分布式训练,同样通过命令行参数传递配置信息:

  • --nproc_per_node 4:指定使用4个GPU进行训练。
  • --master_port 1:指定主节点的端口号。

train.py:指定要运行的脚本。 --data coco128-seg.yaml:指定数据集的配置文件。 --weights yolov5s-seg.pt:指定预训练模型的权重文件。 --img 640:指定输入图像的大小为640x640像素。 --device 0,1,2,3:指定使用的GPU设备编号为0、1、2和3。

训练完成之后我们就可以根据自己所需要的效果,去预测一下我们从对象图像了。 detect.py脚本就是用来预测的。最后的预测结果会放在runs/detect目录下。

bash 复制代码
python detect.py --weights yolov5s.pt --source 0                               # webcam
                                               img.jpg                         # image
                                               vid.mp4                         # video
                                               screen                          # screenshot
                                               path/                           # directory
                                               list.txt                        # list of images
                                               list.streams                    # list of streams
                                               'path/*.jpg'                    # glob
                                               'https://youtu.be/LNwODJXcvt4'  # YouTube
                                               'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream
相关推荐
Power20246661 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
数据猎手小k1 小时前
AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
人工智能·分类·数据挖掘
好奇龙猫1 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
沉下心来学鲁班1 小时前
复现LLM:带你从零认识语言模型
人工智能·语言模型
数据猎手小k1 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
YRr YRr1 小时前
深度学习:循环神经网络(RNN)详解
人工智能·rnn·深度学习
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
多吃轻食2 小时前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
北京搜维尔科技有限公司2 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
说私域2 小时前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售