修改yolov8前期准备

 一   一定要卸载安装在虚拟环境中安装包(否则不论怎么修改项目代码,都只会调用虚拟环境中安装的包而不是修改过后的项目代码)

pip uninstall ultralytics

 二   然后安装项目中的库

python setup.py install

三 修改yolov8源码

由于修改代码后,需要载入模型,而不是直接载入原来的pt文件,要更改文件载入方式,

打开ultralytics/yolo/engine/model.py,文件导入包

import torch
from ultralytics.yolo.utils.torch_utils import  intersect_dicts

找到yolo类下的_new加入代码

ckpt=torch.load('yolov8n.pt')  #权重要和配置文件对应
csd=ckpt['model'].float().state_dict()
csd=intersect_dicts(csd,self.model.state_dict())
self.model.load_state_dict(csd,strict=False)
print(f'Transferred {len(csd)}/{len(self.model.state_dict())} items')

在train函数中将

 append_filename=True改为False

将导入原有模型代码注释掉(225-227行)

在注释下一行加入导入模型带代码

 self.trainer.model=self.model

四 新建main.py运行代码

注意一定要导入配置文件,不能导入pt文件

from ultralytics import YOLO
import  PyQt5



model=YOLO("/home/lin/zy/yolov8/ultralytics/models/v8/yolov8n_MHSA.yaml").train(**{'cfg':'/home/lin/zy/yolov8/ultralytics/yolo/cfg/default.yaml'})
# model=YOLO("/home/lin/zy/yolov8/runs/detect/train59/weights/best.pt").val()

五 验证

  在main.py中将训练代码注释,将权重导入

在ultralytics/yolo/engine/validator.py中的call函数中122行修改额为如下所示(这里我认为是一个bug官方验证用的val,但是这个val和训练中的val是一个数据,我在这里删掉了val,留下了test):

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值