Hello,
In the file src/caffe/layers/memory_data_layer.cpp (in the dev/next branches, not master) the methods MemoryDataLayer<Dtype>::AddMatVector and MemoryDataLayer<Dtype>::AddDatumVector use the data_transformer (that is exactly what I want). However, the method void MemoryDataLayer<Dtype>::Reset has the following line that forbids the definition of tranform parameters:
// Refuse transformation parameters since a memory array is totally generic.
CHECK(!this->layer_param_.has_transform_param()) <<
this->type() << " does not transform data.";
I do not understand how these could be compatible ??? In practice, I must comment the lines in the method Reset() to be able to use the transform parmeters in AddMatVector() or AddDatumVector(). For information, my prototype is:
layers {
name: "data"
type: MEMORY_DATA
top: "data"
top: "label"
memory_data_param {
batch_size: 50
channels: 3
height: 227
width: 227
}
transform_param {
crop_size: 227
mirror: false
mean_file: "imagenet_mean.binaryproto"
}
Best regards
H.