如何使用pycaffe接口

时间:2018-01-19 13:11:00

标签: caffe

有人可以与我分享如何使用pycaffe界面为每个图层计时,包括一些自定义的python图层吗?

我观察到caffe源文件中有计时操作:tools/caffe.cpp

forward_timer.Start();
for (int i = 0; i < layers.size(); ++i) {
  timer.Start();
  layers[i]->Forward(bottom_vecs[i], top_vecs[i]);
  forward_time_per_layer[i] += timer.MicroSeconds();
}

但我不知道如何在pycaffe界面中使用它。

有官方文件说:

  

基准测试:caffe time基准测试模型执行逐层   通过计时和同步。这对检查系统很有用   性能和测量模型的相对执行时间。

caffe time -model examples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel -gpu 0 -iterations 10

但这是在caffe命令行中使用的,我实际上正在运行faster-rcnn,它包含python实现,并且由python脚本调用,我不知道如何使用它。

使用命令caffe time -model xxx.prototxt -weight caffemodel,它找不到我的python图层,如何设置路径以便caffe可以找到它?

编辑:在向PYTHONPATH添加python层文件路径后,它可以找到模块,但是发生了一些错误,当我使用python接口时不会发生这种情况:

F0119 22:24:39.621578  9314 net.cpp:141] Check failed: param_size <= num_param_blobs (0 vs. -2) Too many params specified for layer proposal
*** Check failure stack trace: ***
    @     0x7efd9bde9daa  (unknown)
    @     0x7efd9bde9ce4  (unknown)
    @     0x7efd9bde96e6  (unknown)
    @     0x7efd9bdec687  (unknown)
    @     0x7efd9c4555b6  caffe::Net<>::Init()
    @     0x7efd9c45667b  caffe::Net<>::Net()
    @           0x408c0c  time()
    @           0x405bec  main
    @     0x7efd9a799f45  (unknown)
    @           0x4064f3  (unknown)
    @              (nil)  (unknown)
Aborted

1 个答案:

答案 0 :(得分:0)

只需在ForwardFromto()

中向net.cpp添加时间线