reshape mat before doing computation in fc layer

Signed-off-by: Li Peng <peng.li@intel.com>
This commit is contained in:
Li Peng 2017-11-13 09:06:41 +08:00
parent e89501a3ad
commit 55260a8d3c

View File

@ -286,8 +286,13 @@ public:
UMat biasOnesMat = UMat::ones(outerSize, 1, umat_blobs[0].type());
for (size_t i = 0; i < inputs.size(); i++)
{
UMat& srcMat = inputs[i];
UMat& dstMat = outputs[i];
MatShape inshape, outshape;
inshape = shape(outerSize, innerSize);
outshape = shape(outerSize, numOutput);
UMat srcMat, dstMat;
srcMat = inputs[i].reshape(1, inshape.size(), &inshape[0]);
dstMat = outputs[i].reshape(1, outshape.size(), &outshape[0]);
dstMat.setTo(0.0f);
if (!innerProductOp->Forward(srcMat, umat_blobs[0], (bias) ? umat_blobs[1] : UMat(), dstMat))