文章目录
yolov8训练debug调试记录
bash
RuntimeError: Dataset '/data.yaml' error ❌ '_lzma.LZMADecompressor' object has no attribute 'needs_input'
遇到一个yolov8运行时错误,提示数据集文件 /data.yaml加载失败,具体原因为 '_lzma.LZMADecompressor' object has no attribute 'needs_input'。这通常表明系统中用于解压缩的 LZMA 库(常见于处理 .xz或 .lzma压缩格式)存在版本兼容性问题或内部损坏,可能是由于 Python 的 lzma模块与底层 C 库不匹配,或相关依赖库(如 backports.lzma)未正确安装所致,导致在读取可能经过压缩的数据集文件时无法正常初始化解压器。
最简单的解决方法
找到ultralytics/data/utils.py文件中第256行
bash
if zipfile.is_zipfile(file) or is_tarfile(file):
修改成
bash
try:
is_archive = zipfile.is_zipfile(file) or is_tarfile(file)
except Exception:
is_archive = False
if is_archive:
就可以跑通了