本文主要是介绍YOLOv8的FPS计算代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
YOLOv8的FPS计算代码
目前是默认加载到0号GPU中,如果你想加载到指定GPU中,请手动在加载模型的时候设置
device=编号
代码
import osfrom ultralytics import YOLOdef load_model(model_path):model = YOLO(model_path)print('查看当前模型:', model)return modelif __name__ == '__main__':imgs_path = 'E:\\data\\dataset\\images\\val' # TODO 验证集目录 要求图像数量 >= 200model = load_model('weights/shwd/yuan.pt' ) # TODO 模型路径re_num = 10 # TODO 预热图像张数detect_count = 100 # TODO 推理图像张数images = os.listdir(imgs_path)count = 0times = []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:breakcount += 1# main(opt)time_sum = 0.for i in times:time_sum += sum(i.values())one_img_time = time_sum / detect_countFPS = 1000 / one_img_timeprint(f'FPS: {FPS}')
代码说明
以上的代码中,需要自己改的参数有四个
imgs_path = 'E:\\data\\dataset\\images\\val' # TODO 验证集目录 要求图像数量 >= 200model = 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张图像取平均值,因为一张的话偶然性太大了
王清江唷_全网同名希望和你成为朋友,我的全网昵称均为王清江唷
这篇关于YOLOv8的FPS计算代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!