mmdetection3.2.0框架FPS基准测试学习心得

mmdetection中的benchmark使用问题

使用版本

mmcv = 2.1.0

mmdet = 3.2.0

 测试模型

python tools/analysis_tools/benchmark.py \
configs/faster_rcnn/faster-rcnn_r50_fpn_1x_coco.py \
checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth --fuse-conv-bn

遇到的问题

1.空类'NoneType'调用错误

AttributeError: 'NoneType' object has no attribute 'Process'

解决方法:

安装psutil模块 pip install psutil

2.FPS结果过大的问题

Overall fps: 326.7 batch/s, times per batch: 3.1 ms/batch, batch size: 1, num_workers: 2

计算出的FPS为300多帧,明显不正常

解决方法

benchmark.py默认参数错误

将 default='dataloader ',中 dataloader 改成 inference 

改变后才会调用定义的模型,执行对应的推理程序计算真实帧率

结果

 Done image [150/2000], fps: 15.4 img/s, times per image: 65.0 ms/img, cuda memory: 542 MB

结果接近真实值

总结

有写的不好的地方,感想大家指正!

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Gradle 3.2.0是一款集成开发环境(IDE)中常用的构建工具,它用于自动化构建、测试和部署应用程序的过程。它可以帮助开发者更高效地管理项目依赖、编译代码、打包发布等任务。 Gradle 3.2.0具有许多重要的功能和改进。首先,它引入了新的构建缓存功能,可以显著提高构建速度。这意味着重复构建相同代码时,Gradle会自动利用缓存来加快构建过程,从而节省时间。 此外,Gradle 3.2.0还提供了更好的增量编译支持,可以只编译改动的部分,而不是整个项目,这样可以进一步减少构建时间。 Gradle 3.2.0还改进了构建钩子和任务处理API,使开发者能够更灵活地定义和管理构建过程。它还提供了更好的错误报告和调试功能,使开发者能够更快地定位和解决问题。 此外,Gradle 3.2.0还加强了对Kotlin的支持,使开发者能够更轻松地使用Kotlin进行构建。它还支持增强的Java编译器插件和新的Java插件API,用于更高级的Java构建。 总体而言,Gradle 3.2.0是一款强大、灵活且高效的构建工具,为开发者提供了一种简单而强大的方式来管理和构建项目。它的许多新功能和改进使其成为一款理想的开发工具,能够帮助开发人员更快速、更轻松地构建和部署应用程序。 ### 回答2: Gradle 3.2.0 是一个开源的构建自动化工具,用于构建和管理软件项目。它基于 Groovy 语言,并提供了丰富的 API 和插件来定制和扩展构建过程。 Gradle 3.2.0 带来了许多新的特性和改进,其中包括: 1. 依赖管理增强:Gradle 3.2.0 引入了新的 "Dependency Constraints" 功能,它允许开发人员对依赖项进行额外的限制和约束,以确保项目的依赖项符合预期的版本范围。 2. 构建缓存改进:Gradle 3.2.0 引入了对构建缓存的一些改进,并且默认情况下启用了构建缓存。构建缓存可以显著提高构建速度,特别是在多个项目之间共享构建缓存时。 3. 插件改进:Gradle 3.2.0 提供了一些新的插件,如 "Java Library Distribution" 插件,它使得将 Java 库打包成发行版更加容易。此外,还对许多常用的插件进行了改进和优化。 4. 并行构建改进:Gradle 3.2.0 对并行构建进行了一些改进,包括增加了对任务输出文件的最小化传输,以及优化任务间的依赖关系处理等。 5. 性能改进:Gradle 3.2.0 对构建器进行了一些优化,以提高构建速度和性能。这些优化包括减少内部对象的创建和处理,并通过增加缓存项的大小来提高缓存效率等。 总之,Gradle 3.2.0 是一个功能强大的构建工具,它提供了许多新的特性和改进,以帮助开发人员更高效地构建和管理项目。无论是大型项目还是小型项目,Gradle 3.2.0 都可以提供灵活、可定制和高性能的构建解决方案。 ### 回答3: Gradle 3.2.0是一款用于构建和自动化构建过程的开源构建工具。它是一种基于Apache Ant和Apache Maven角色的构建工具,更强大和灵活。 Gradle 3.2.0的特点之一是它的高性能。它能够高效地处理大型项目,并且具有增量构建功能,只需要构建需要更新的部分,从而节省时间和资源。此外,它的增量编译功能还可以提高Java等编译型语言的编译速度。 此外,Gradle 3.2.0还引入了新的依赖管理和解析系统。它可以自动解析和下载项目所需的依赖项,并支持本地和远程存储库。它还支持多模块项目,可以轻松地管理各个模块之间的依赖关系。 Gradle 3.2.0还具有强大的自定义功能。它使用Groovy作为默认的脚本语言,允许开发人员根据项目的需求编写自定义构建脚本。这样,开发人员可以自由地定义和扩展构建过程,使其更符合项目的特定需求。 此外,Gradle 3.2.0还提供了丰富的插件生态系统,可以通过插件来扩展和定制Gradle的功能。这些插件包括用于Android开发、Java开发、Web开发等各种场景的插件,可以提高开发人员的效率和工作流程。 总之,Gradle 3.2.0是一个功能强大且灵活的构建工具,可以帮助开发人员更高效地构建和管理项目,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值