使用caffe自带的time命令计算每层消耗的时间

本文介绍了在训练Mobilenet模型时,为优化效率使用Caffe的time命令来测试每层的执行时间。由于net_speed_benchmark工具已弃用,作者通过指定GPU并运行50次迭代,发现在dwconv层的前向和反向传播时间显著高于其他层,优化这部分后,模型运行速度得到提升。
摘要由CSDN通过智能技术生成

在训练backbone为mobilenet的模型的时候,发现训练过程中每个迭代所需要的时间都很长,于是考虑使用测试工具测试每层所需要的时间,来排查原因.

其中caffe自带的net_speed_benchmark工具已经被弃用了

Deprecated. Use caffe time --model=... "
             "[--iterations=50] [--gpu] [--device_id=0]

被指明使用caffe的time指令来评估每层时间,如同上面的信息,只需要一个训练网络的prototxt文件,然后程序默认进行50个迭代的前传反传的计算,然后给出平均的每层所需的时间

这里需要设置-gpu,否则默认是使用cpu计算的

第一次我没加-gpu 0的参数,测试mobilenet的时间
平均下来每个forward-backward所需要的时间为2392.66 ms
发现是dwconv相关层的前传和反传所需要的时间都远多于其他层,

conv4_1/3x3_dwconv   forward: 28.8052 ms.
conv4_1/3x3_dwconv   backward: 59.1912 ms.

使用time --model=... -gpu 0之后,运行时间明显提高了

Iteration: 1 forward-backward time: 12859.3 ms.
Iteration: 2 forward-backward time: 42.453 ms.
Iteration: 3 forward-backward time: 41.3635 ms.
Iteration: 4 forward-backward time: 39.9391 ms.
Iteration: 5 forward-backward time: 39.9155 ms.
Iteration: 6 forward-backward time: 40.8156 m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值