tp5做企业网站,宿迁房产网租房信息,给我播放电影在线观看,logo图案免费续yolov8训练进阶#xff1a;自定义训练脚本#xff0c;从配置文件载入训练超参数_CodingInCV的博客-CSDN博客 尽管yolov8有很多参数可以设置#xff0c;但难免我们训练过程中会需要增加自己的参数#xff0c;如新的数据增强、自定义的一些条件。那么在yolov8中如何实现呢自定义训练脚本从配置文件载入训练超参数_CodingInCV的博客-CSDN博客 尽管yolov8有很多参数可以设置但难免我们训练过程中会需要增加自己的参数如新的数据增强、自定义的一些条件。那么在yolov8中如何实现呢上文中提到如果我们强行传入新的参数yolov8训练将报错因为训练代码里会检查传入的关键字是否存在于默认参数中。所以为了能够传入新的参数我们首先要将新的关键字加入到默认参数文件中。
增加新参数
默认的参数文件位于yolo/cfg/default.yaml我们在其中新增一个start_epoch参数用来指定从哪个epoch开始训练
# Train settings -------------------------------------------------------------------------------------------------------
model: # path to model file, i.e. yolov8n.pt, yolov8n.yaml
data: # path to data file, i.e. coco128.yaml
epochs: 100 # number of epochs to train for
start_epoch: 0 # start epoch
patience: 50 # epochs to wait for no observable improvement for early stopping of training
batch: 16 # number of images per batch (-1 for AutoBatch)
...使用新参数
为了能够使用新的参数我们首先需要知道这些参数读取后在哪里使用。 前一篇文章我们提到了训练器继承自yolo/engine/trainer.py中的BaseTrainer通过查看BaseTrainer的构造函数
def __init__(self, cfgDEFAULT_CFG, overridesNone, _callbacksNone):Initializes the BaseTrainer class.Args:cfg (str, optional): Path to a configuration file. Defaults to DEFAULT_CFG.overrides (dict, optional): Configuration overrides. Defaults to None.self.args get_cfg(cfg, overrides)self.device select_device(self.args.device, self.args.batch)self.check_resume()...显然参数在self.args中所以我们可以从args中取出我们定义的参数
self.start_epoch self.args.get(start_epoch, 0)再使用self.start_epoch去控制我们的训练或者数据读取。定义其他的参数同理。
结语
通过新增参数我们可以对yolov8的训练和数据读取根据需要进行修改。