-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathval_yolov8.py
More file actions
37 lines (29 loc) · 1.17 KB
/
Copy pathval_yolov8.py
File metadata and controls
37 lines (29 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import multiprocessing
from ultralytics import YOLO
def main():
multiprocessing.freeze_support()
print("🔍 开始在验证集上评估模型...")
# 训练好的 best.pt 权重文件
model_path = 'runs/train/yolov8_ppe_v1.100/weights/best.pt'
try:
# 加载训练好的神兵利器
model = YOLO(model_path)
except FileNotFoundError:
print(f"❌ 找不到模型文件:{model_path}")
print("请检查 runs/train/ 目录下你最新训练的文件夹名字,并修改 model_path!")
return
# 开始在验证集 (val) 上进行严格评估
print("📊 正在拼命计算 mAP 指标,请稍候...")
metrics = model.val(
data='datasets/helmet-vest/rebuild/data.yaml',
device=0, # 使用 RTX 3050 GPU 进行加速推理
split='val' # 指定评估验证集
)
# 提取并打印论文里最需要的两个核心指标
# print("\n" + "🔥" * 20)
print("核心评估指标:")
print(f"mAP50 (常用的精度): {metrics.box.map50:.4f}")
print(f"mAP50-95 (更严格的平均精度): {metrics.box.map:.4f}")
# print("🔥" * 20)
if __name__ == '__main__':
main()