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

YOLOv8保存推理结果至自定义文件夹报错:'list'无'save'属性

YOLOv8视频推理结果保存到自定义文件夹的问题解决

问题原因

model.predict()返回的是Result对象的列表(每个元素对应视频的一帧),不是单个Result实例,所以直接调用results.save()会触发AttributeError——列表本身没有save方法。另外你错误地把save_dir设成了输入视频路径,应该指定你定义的output_dir。

正确解决方案

方法1:在predict时直接指定保存参数(推荐)

YOLOv8的predict方法支持直接传入保存相关参数,无需手动调用save,操作更简洁高效:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

# 输入视频路径
input_path = r"C:\Users\user\PycharmProjects\Gen\Users\Per\pre_video\BAACAgIAAxkBAAICPGSP5ivdrC9mmwABPTyoVDnBtEAhswACHCcAAu5agEgK3IT3udd3Yy8E.mp4"

# 输出目录
output_dir = r"C:\Users\user\PycharmProjects\Gen\Users\Pre\post_video"

# 直接在predict中配置保存规则
model.predict(
    source=input_path,
    conf=0.45,
    save=True,          # 开启保存功能
    save_dir=output_dir,# 指定自定义保存目录
    show=False          # 不需要实时显示画面可关闭
)

方法2:遍历Result列表手动保存

如果需要对每帧结果做额外处理后再保存,可以遍历results列表,对每个Result实例单独调用save:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')

input_path = r"C:\Users\user\PycharmProjects\Gen\Users\Per\pre_video\BAACAgIAAxkBAAICPGSP5ivdrC9mmwABPTyoVDnBtEAhswACHCcAAu5agEgK3IT3udd3Yy8E.mp4"
output_dir = r"C:\Users\user\PycharmProjects\Gen\Users\Pre\post_video"

results = model.predict(source=input_path, conf=0.45)

# 逐个处理并保存每帧结果
for result in results:
    result.save(save_dir=output_dir)

注意事项

  • 确保output_dir对应的文件夹已经存在,YOLOv8会自动创建不存在的目录,但手动创建可避免潜在权限问题。
  • 方法1会自动保存完整的处理后视频;方法2是逐帧保存图片,可根据实际需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:52:37