yolov8使用指定模型预测
打开Anaconda Prompt,进入虚拟系统yolov8,使用如下命令安装代码:
1 | pip install ultralytics |
使用如下命令使用摄像头预测:
1 | yolo predict model=yolov8n source=0 show=true |
model=yolov8n 代表使用yolov8n模型,yolov8n为官方训练的较小的一个模型;
source=0 代表使用摄像头作为视频源,0可以切换为视频路径;
show=true 代表将识别结果实时显示出来。
识别完成后会将结果自动保存在’users/你的用户名/runs’文件夹下。
yolov8模型训练
yolov8数据集结构
这里只介绍yolov8能使用的一中数据集结构,有些其他数据集也能使用。
数据集目录结构如下:
1 | yolov8_dataset/ |
train 用于训练的照片和数据;
valid 用于训练过程中检测模型的数据集,用以在训练过程中评估模型的能力,可以没有此数据集,这样的话就无法实时显示模型的评估数据;
test 用于训练结束后整体评估模型的能力,可以没有此数据集,这样的话最终无法生成整体评估数据;
dateset.yaml 用于记录数据集中train、valid、test等数据集的位置以及模型训练信息。
dateset.yaml内容如下:
1 | # 这里的path需要指向你项目中数据集的目录 |
模型训练
使用如下命令指定数据集进行训练:
1 | yolo train data='dataset.yaml'model=yolov8n.pt epochs=500 lr0=0.01 |
data=’’ 填写dataset.yaml所在路径;
model=yolov8n.pt 代表使用官方模型作为预训练模型(一般不自己从零开始训练模型,这是一件很难的事情);
epochs=500 代表训练500轮,模型训练是一次一次迭代提升的过程,一般100到200轮就不会再有明显提升;
lr0=0.01 代表每次训练向最优值步进的跨度是0.01,这个参数可以暂时不了解。
训练完成的模型会保存在’users/你的用户名/train’文件夹下。
训练过程一般时间很长,具体时间视GPU强弱而定。
如果想使用刚刚训练完成的模型可以使用预测命令,将model指向模型的路径:
1 | yolo predict model=yolov8n source=0 show=true |