在做一些比较实验中,如何更精确的查看和对比我们的改进模块时候有效,是否有提升,特别是在模型轻量化时,这时候我们就可以打印改进模型每一层的耗时和GFLOPS来比较不同模块的占用量。在YOLOv9中,打印模型每一层的耗时和GFLOPs使用的是models/yolo.py
。
在main()
函数中,需要配置的参数如下:
cfg
:指向模型的配置文件,即要查看的模型batch-size
:批处理图像的大小,我这里设置成1,越大,速度越快,但需要同一量级下去比较速度device
:所选择的设备,GPU
或CPU
profile
:是否打印速度,默认是不打印的,要添加default=True
line-profile
:是否按行打印,是则添加default=True
test
:是否打印所有配置文件,否,只需要查看我们指定的即可
配置完成后运行此代码,可以看到它先输出了模型的结构信息:
紧接着才输出了每一层的耗时,GFLOPs,参数量:
这样就可以查看每一层的耗时和GFLOPs了。