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

Python新手求助:如何加载预训练YOLOv7模型(.pt文件)

加载YOLOv7预训练.pt模型的完整步骤

1. 先搞定环境依赖

确保你的Python版本在3.7-3.10之间(YOLOv7对高版本Python兼容性一般),然后安装核心依赖:

  • 先装PyTorch(无GPU就装CPU版):
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
    
  • 获取YOLOv7代码后,进入目录安装所需依赖:
    cd yolov7
    pip install -r requirements.txt
    

2. 准备预训练模型文件

把下载好的yolov7.pt(或轻量化版本如yolov7-tiny.pt)放在YOLOv7代码的根目录下,确保路径无误。

3. 两种加载模型的方式

方式一:用官方自带脚本直接运行(最省心)

在终端执行以下命令,直接用预训练模型做目标检测:

python detect.py --weights yolov7.pt --source inference/images/horses.jpg

参数说明:

  • --weights:指定你的.pt模型路径
  • --source:输入的图片/视频路径,填0可调用本地摄像头

运行后检测结果会自动保存在runs/detect/exp文件夹中,打开即可查看标注后的图片。

方式二:自己写代码加载模型(适合二次开发)

如果要把模型集成到自己的项目里,用下面的代码片段:

import torch
import cv2
import numpy as np

# 从本地加载预训练模型
model = torch.hub.load('.', 'custom', path='yolov7.pt', source='local')
# 设置模型为评估模式(关闭训练相关的参数更新)
model.eval()

# 加载测试图片并转换格式(YOLOv7默认输入为RGB)
img = cv2.imread('inference/images/horses.jpg')
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

# 模型推理
results = model(img_rgb)

# 解析检测结果并可视化
detect_data = results.pandas().xyxy[0]
for _, row in detect_data.iterrows():
    # 提取目标坐标、类别和置信度
    x1, y1, x2, y2 = int(row['xmin']), int(row['ymin']), int(row['xmax']), int(row['ymax'])
    label = f"{row['name']} {row['confidence']:.2f}"
    # 在原图上绘制框和标签
    cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
    cv2.putText(img, label, (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0,255,0), 2)

# 显示检测结果
cv2.imshow('YOLOv7 Detection', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

常见问题排查

  • 若报FileNotFoundError:检查.pt模型路径或图片路径是否拼写错误
  • 若出现CUDA相关报错:要么安装对应版本的CUDA和PyTorch,要么强制用CPU运行,加载模型后加model = model.to('cpu')
  • 若依赖报错:确保requirements.txt中的包全部安装完成,重点检查opencv-python、numpy、pillow这些基础库

内容的提问来源于stack exchange,提问作者Phước Thành Quang Nguyễn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 17:00:59