使用MemoryDataLayer在caffe中测试

时间:2017-02-09 23:54:06

标签: c++ deep-learning caffe

现在我想从内存中加载图像,然后将其传递给网络进行测试。

所以我写这样的代码(判断https://github.com/benjholla/AndroidPermissionAttributeMapper):

  bottom_in.push_back(this->bottom_vec);
  caffe::MemoryDataLayer<Dtype> *m_layer_ =  (caffe::MemoryDataLayer<Dtype> *)(this->caffe_net.layer_by_name("data").get());
  m_layer_->Reset(this->bottom, this->bottom, 1);
  this->caffe_net.Forward(bottom_in);

但它核心转储。我检查数据并确保数据传递好。 所以我查看了caffe并在Net class中找到它:

vector<Blob<Dtype>*> net_input_blobs_;

net_input_blobs_的大小为0,所以

net_input_blobs_[i]->CopyFrom(*bottom[i]);

在Net类中的Forward函数出错。

这是关于MemoryDataLayer的原型:

layer {


name: "data"
  # type: "ImageSegData"
  type: "MemoryData"
  top: "data"
  top: "label"
  # top: "data_dim"
  include {
    phase: TEST
  }
  transform_param {
    mirror: false
    crop_size: 513
    mean_value: 104.008
    mean_value: 116.669
    mean_value: 122.675
  }
  memory_data_param {
    batch_size: 1
    channels: 3
    height: 480  
    width: 640 
  }
}

我对这个问题感到困惑好几天了,你能给我一些建议或MemoryDataLayer的一些例子吗?

0 个答案:

没有答案