darknet预测分类性能提升1:性能提升方案

更多文章参考:自己动手实现darknet预测分类动态库

预测112张图片,调用预测接口总时间为:25658毫秒(约为26秒)

各个过程耗时分析:

1)分析cfg网络文件:parse_network_cfg: 7789 millis_seconds

2)加载权重文件:load_weights: 45 millis_seconds

3)计算batchnorm:fuse_conv_batchnorm: 324 millis_seconds

4)计算网络权重:calculate_binary_weights: 0 millis_seconds

112张图片没16张图片加载和预测一次,加载和预测时间分别为:

第一批:

pthread_join: 2475 millis_seconds

network_predict_data: 268 millis_seconds

第二批:

pthread_join: 2199 millis_seconds

network_predict_data: 153 millis_seconds

第三批:

pthread_join: 2323 millis_seconds

network_predict_data: 156 millis_seconds

第四批:

pthread_join: 2320 millis_seconds

network_predict_data: 154 millis_seconds

第五批:

pthread_join: 2310 millis_seconds

network_predict_data: 152 millis_seconds

第六批:

pthread_join: 2323 millis_seconds

network_predict_data: 155 millis_seconds

第七批:

pthread_join: 2312 millis_seconds

network_predict_data: 157 millis_seconds

时间分析及性能提升方案说明:

1.上面的时间都是三通道时间,因为单通道数据调用net_predict_data时会报错,所以现在还不能测单通道时间

2.1)-4)为固定时间(约8秒)执行一次,与图片数据没有关系

3.整个预测时间,加载和预测图片占总时间的70%,而加载图片(pthread_in)占每批图片加载预测总时间的90%。

4.pthread_in耗时长,主要因为转换格式是一张一张转换的,没有像network_predict_data那样使用GPU加速,network_predict_data加速前耗时约是现在的28倍,所以如果加载图片也使用GPU加速时间可以减少到82秒,七批数据可以减少约15秒,最终时间减少到11秒。

5.三通道数据改成单通道数据,因为数据量减少三分之二,如果按理论加载预测时间减少三分之二的话,加载预测时间(80+157)毫秒可以减少到80毫秒,七批数据可以减少1秒,最终时间减少到10秒。

6.分析cfg网络文件:parse_network_cfg耗时比较长约8秒,目前还没有分析内部代码,希望能够可以加速。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

haimianjie2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值