Skip to content
Snippets Groups Projects
Commit b5623fb6 authored by Olivier BICHLER's avatar Olivier BICHLER
Browse files

Merge branch 'fix_195_globalavgpool-forwarddims' into 'dev'

[Fix]/[Upd] GlobalAvgPooling::forwardDims() squeeze dimensions

See merge request !239
parents 0eaea479 b0578882
No related branches found
No related tags found
2 merge requests!279v0.4.0,!239[Fix]/[Upd] GlobalAvgPooling::forwardDims() squeeze dimensions
Pipeline #59632 passed
......@@ -44,8 +44,10 @@ bool Aidge::GlobalAveragePooling_Op::forwardDims(bool /*allowDataDependency*/) {
// Global average pooling takes each filter, averages its values and uses
// it as an output(Much like a fancier flatten). 1st dim is batch 2nd is
// number of filter
mOutputs[0]->resize({getInput(0)->dims().at(0),
getInput(0)->dims().at(1)});
std::vector<DimSize_t> outputDims(getInput(0)->nbDims(), 1);
outputDims[0] = getInput(0)->dims()[0];
outputDims[1] = getInput(0)->dims()[1];
mOutputs[0]->resize(outputDims);
return true;
}
......
......@@ -70,12 +70,14 @@ TEST_CASE("[core/operator] GlobalAveragePooling_Op(forwardDims)",
for (uint16_t i = 0; i < nb_dims; ++i) {
dims[i] = dimsDist(gen) + 1;
}
std::vector<DimSize_t> dims_out{dims[0], dims[1]};
std::vector<DimSize_t> dims_out(nb_dims, 1);
dims_out[0] = dims[0];
dims_out[1] = dims[1];
input_T->resize(dims);
op->setInput(0, input_T);
REQUIRE_NOTHROW(op->forwardDims());
REQUIRE(op->getOutput(0)->dims() == dims_out);
REQUIRE((op->getOutput(0)->dims().size()) == static_cast<size_t>(2));
REQUIRE((op->getOutput(0)->dims().size()) == nb_dims);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment