小编Qaz*_*azi的帖子

是否需要在caffe中的deploy.prototxt中定义dropout层?

在caffe中的AlexNet实现中,我在deploy.prototxt文件中看到了以下层:

layer {
  name: "drop7"
  type: "Dropout"
  bottom: "fc7"
  top: "fc7"
  dropout_param {
    dropout_ratio: 0.5
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,辍学的关键思想是在训练期间从神经网络中随机丢弃单位(连同他们的连接).

这是否意味着我可以直接从deploy.prototxt中删除此图层,因为此文件仅用于测试期间?

caffe conv-neural-network

4
推荐指数
1
解决办法
3060
查看次数

如何从咖啡的平均正向通过时间估算推理时间?

我用这个命令来测试我的ConvNet在caffe中:

./build/tools/caffe time -model models/own_xx/deploy.prototxt -weights examples/RSR_50k_all_1k_db/snapshot_iter_10000.caffemodel -gpu=0
Run Code Online (Sandbox Code Playgroud)

它运行正常并生成输出,结束于:

I0426 16:08:19.345427 15441 caffe.cpp:377] Average Forward pass: 13.5549 ms.
I0426 16:08:19.345484 15441 caffe.cpp:379] Average Backward pass: 10.7661 ms.
I0426 16:08:19.345527 15441 caffe.cpp:381] Average Forward-Backward: 25.2922 ms.
I0426 16:08:19.345579 15441 caffe.cpp:383] Total Time: 1264.61 ms.
I0426 16:08:19.345628 15441 caffe.cpp:384] *** Benchmark ends ***
Run Code Online (Sandbox Code Playgroud)

在一些教程中,我看到这个家伙只是简单地推断出平均前锋传球的分类时间.但是,我找不到任何解释如何做到这一点的公式或材料.这两个人之间真的有一些联系吗?还涉及哪些其他因素,例如迭代次数和批量大小?我的目标是准确预测我的ConvNet在GPU上的分类时间.

更新:为了不显得完全无知,我将在此添加一个基本思路,即前向传递是输入生成相对输出所花费的时间,因此它也可以称为推理时间.但是,我感兴趣的是不管批量大小和迭代如何都知道这是否正确?我尝试过,但在基准测试期间,caffe不提供任何"批量"选项.

benchmarking caffe conv-neural-network

4
推荐指数
1
解决办法
4470
查看次数

标签 统计

caffe ×2

conv-neural-network ×2

benchmarking ×1