| 160 | |
| 161 | template <typename Dtype> |
| 162 | void HDF5DataLayer<Dtype>::Forward_cpu(const vector<Blob<Dtype>*>& bottom, |
| 163 | const vector<Blob<Dtype>*>& top) { |
| 164 | const int batch_size = this->layer_param_.hdf5_data_param().batch_size(); |
| 165 | for (int i = 0; i < batch_size; ++i) { |
| 166 | while (Skip()) { |
| 167 | Next(); |
| 168 | } |
| 169 | for (int j = 0; j < this->layer_param_.top_size(); ++j) { |
| 170 | int data_dim = top[j]->count() / top[j]->shape(0); |
| 171 | caffe_copy(data_dim, |
| 172 | &hdf_blobs_[j]->cpu_data()[data_permutation_[current_row_] |
| 173 | * data_dim], &top[j]->mutable_cpu_data()[i * data_dim]); |
| 174 | } |
| 175 | Next(); |
| 176 | } |
| 177 | } |
| 178 | |
| 179 | #ifdef CPU_ONLY |
| 180 | STUB_GPU_FORWARD(HDF5DataLayer, Forward); |
nothing calls this directly
no test coverage detected