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

加载Yolov7模型时遇ModuleNotFoundError错误,求解决方案

解决方案

1. 明确导入Yolov7专属的模型加载函数

问题根源是Python的模块导入优先级:你同时将yolov5和yolov7目录加入了sys.path,直接调用attempt_load时会优先加载Yolov5版本的函数,而Yolov5的attempt_load依赖的utils.google_utils模块在Yolov7的目录结构中不存在。

解决方式是指定从Yolov7的模块导入加载函数,替换原有的模型加载代码:

# 明确导入Yolov7的attempt_load
from yolov7.utils.torch_utils import attempt_load

model = attempt_load('model/yolov7.pt', map_location=torch.device('cpu'))
print(model)

2. 修正sys.path配置中的注释错误(建议)

你的代码中添加yolov5路径时注释有误,修正后可避免后续维护混淆:

FILE = Path(__file__).resolve()
ROOT = FILE.parents[0]  
WEIGHTS = ROOT / 'weights'

if str(ROOT) not in sys.path:
    sys.path.append(str(ROOT))  # add project root to PATH
if str(ROOT / 'yolov5') not in sys.path:
    sys.path.append(str(ROOT / 'yolov5'))  # add yolov5 root to PATH
if str(ROOT / 'yolov7') not in sys.path:
    sys.path.append(str(ROOT / 'yolov7'))  # add yolov7 root to PATH
if str(ROOT / 'strong_sort') not in sys.path:
    sys.path.append(str(ROOT / 'strong_sort'))  # add strong_sort root to PATH
ROOT = Path(os.path.relpath(ROOT, Path.cwd()))  # relative path

3. 验证Yolov7目录完整性

确认你的yolov7目录下存在utils/torch_utils.py文件,且该文件包含attempt_load函数;同时确保yolov7/utils目录下有完整的依赖模块(Yolov7通常用utils.downloads替代Yolov5的utils.google_utils)。

内容的提问来源于stack exchange,提问作者Nguyễn Công Trí

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:48:58