layer {
name: "data"
type: "Input"
top: "data"
input_param { shape: { dim: 64 dim: 1 dim: 28 dim: 28 } }
}
Введите код. Net< float > net( "/home/phil/caffeData/lenet.prototxt", TEST );
net.CopyTrainedLayersFrom("/home/phil/caffeData/_iter_5000.caffemodel");
Datum datum;
if( !ReadImageToDatum("/home/phil/caffeData/cat.jpg", 64, 28, 28, &datum) )
{
qDebug() << QObject::tr( "Невозможно прочесть изображение!" );
return;
}
Blob< float > * blob = new Blob< float >(1, datum.channels(), datum.height(), datum.width());
BlobProto proto;
proto.set_num(1);
proto.set_channels( datum.channels() );
proto.set_height(datum.height());
proto.set_width(datum.width());
const int data_size = datum.channels() * datum.height() * datum.width();
int size_in_datum = std::max<int>(datum.data().size(),
datum.float_data_size());
for (int i = 0; i < size_in_datum; ++i)
{
proto.add_data(0.);
}
const string& data = datum.data();
if (data.size() != 0)
{
for (int i = 0; i < size_in_datum; ++i)
{
proto.set_data(i, proto.data(i) + (uint8_t)data[i]);
}
}
blob->FromProto(proto);
vector< Blob< float > * > bottom;
bottom.push_back(blob);
float type = 0.0;
const vector< Blob< float > * >& result = net.Forward( bottom, &type );..
"Trying to copy blobs of different sizes". what's wrong?