问题
当你使用YOLOv8命令行训练模型的时候,如果当前执行的目录下没有相关的预训练模型文件,YOLOv8就会自动下载模型权重文件。这个是一个正常操作,但是你还会发现,当你在参数model中指定已有的,在其他目录下的预训练模型文件,YOLOv8还是会一样去下预训练模型文件,直接无视model参数指定,于是多数开发者都是确保在当前目录下有YOLOv8模型预训练文件,然后再从当前目录下执行下面的命令行训练:
解决
无法从任意一个目录下发起YOLOv8模型训练是个问题!要解决这个问题其实很简单,YOLOv8是有个全局设置参数的,它支持从设置的目录下寻找预训练权重文件,同时支持把训练结果保存到指定目录下。这样设置好以后,我们就可以从任意目录下发起YOLOv8模型训练了,YOLOv8框架默认支持通过命令行修改这些设置参数的。
yolo settings
python 代码中修改
from ultralytics.utils import SETTINGS
print(SETTINGS["runs_dir"])
print(SETTINGS)
update_params = {'runs_dir': 'runs'}
SETTINGS.update(update_params)
print(SETTINGS)