You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义YOLOv8模型加载报错KeyError: 'model'求助

解决YOLO加载模型时的KeyError: 'model'问题

你遇到的错误是因为加载的model.pt不符合Ultralytics YOLO的权重文件格式,或者文件损坏导致无法读取model键值。

错误日志

File "C:\Python312\Lib\site-packages\ultralytics\models\yolo\model.py", line 23, in __init__
    super().__init__(model=model, task=task, verbose=verbose)
  File "C:\Python312\Lib\site-packages\ultralytics\engine\model.py", line 152, in __init__
    self._load(model, task=task)
  File "C:\Python312\Lib\site-packages\ultralytics\engine\model.py", line 241, in _load
    self.model, self.ckpt = attempt_load_one_weight(weights)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python312\Lib\site-packages\ultralytics\nn\tasks.py", line 813, in attempt_load_one_weight
    model = (ckpt.get("ema") or ckpt["model"]).to(device).float()  # FP32 model
                                ~~~~^^^^^^^^^
KeyError: 'model'

你的代码

from ultralytics import YOLO

model= YOLO('model.pt')

results = model(source=0, show= True, conf=0.5, save= True)

解决步骤

  • 核对文件路径:确认model.pt在当前代码运行的工作目录下,或者直接传入绝对路径,比如YOLO('D:/projects/xxx/model.pt')
  • 校验文件完整性:如果是自行训练的模型,检查训练过程是否正常结束,是否有中途中断导致文件损坏;如果是下载的预训练模型,重新下载并确认文件大小与官方一致
  • 确认模型格式:Ultralytics YOLO的权重文件必须包含model或ema字段,若为其他框架转换的模型,需使用官方转换工具处理,比如针对Darknet模型用yolo convert model=darknet.cfg weights=darknet.pt format=torchscript
  • 使用训练生成的标准权重:自行训练时,训练完成后会自动生成best.pt和last.pt,优先使用这两个文件,不要随意重命名或修改文件结构
  • 统一版本兼容性:不同版本的Ultralytics可能存在权重格式差异,尝试切换到稳定版本,比如执行pip install ultralytics==8.0.200

内容的提问来源于stack exchange,提问作者K4R4

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 02:48:20