YOLOv8的FPS计算代码
目前是默认加载到0号GPU中,如果你想加载到指定GPU中,请手动在加载模型的时候设置
device=编号
代码
import os
from ultralytics import YOLO
def load_model(model_path):
model = YOLO(model_path)
print('查看当前模型:', model)
return model
if __name__ == '__main__':
imgs_path = 'E:\\data\\dataset\\images\\val' # TODO 验证集目录 要求图像数量 >= 200
model = load_model('weights/shwd/yuan.pt' ) # TODO 模型路径
re_num = 10 # TODO 预热图像张数
detect_count = 100 # TODO 推理图像张数
images = os.listdir(imgs_path)
count = 0
times = []
for item in images:
if count < re_num:
model(imgs_path + os.sep + item)
elif count < re_num + detect_count:
results = model(imgs_path + os.sep + item)
times.append(results[0].speed)
else:
break
count += 1
# main(opt)
time_sum = 0.
for i in times:
time_sum += sum(i.values())
one_img_time = time_sum / detect_count
FPS = 1000 / one_img_time
print(f'FPS: {FPS}')
代码说明
以上的代码中,需要自己改的参数有四个
imgs_path = 'E:\\data\\dataset\\images\\val' # TODO 验证集目录 要求图像数量 >= 200
model = load_model('weights/shwd/yuan.pt' ) # TODO 模型路径
re_num = 10 # TODO 预热图像张数
detect_count = 100 # TODO 推理图像张数
imgs_path是给数据集的测试集的路径,下面应该有大于300张图像
model 对应的load_model需要填入模型的路径
re_num 是模型预热,随便写个20就行了,意思一下就可以了
detect_count 是测试100张图像取平均值,因为一张的话偶然性太大了
王清江唷_全网同名希望和你成为朋友,我的全网昵称均为王清江唷