Skip to content
Snippets Groups Projects

Fix avgpooling forwardims when kernel size > input dim size

Merged Noam Zerah requested to merge noamzerah/aidge_core:fix_avgpooling_forwardims into dev
All threads resolved!
@@ -75,11 +75,12 @@ bool Aidge::AvgPooling_Op<DIM>::forwardDims(bool /*allowDataDependency*/) {
const auto strideDim = mAttributes->template getAttr<AvgPoolingAttr::StrideDims>()[dim];
const auto dilationDim = mAttributes->template getAttr<AvgPoolingAttr::Dilations>()[dim];
outputDims[dim+2] = 1 + static_cast<DimSize_t>(
roundingFunction(static_cast<float>(inputDims[dim+2] -
(kernelDim - 1) * dilationDim - 1) /
static_cast<float>(strideDim)));
const float effective_size = static_cast<float>(inputDims[dim+2] - (kernelDim - 1) * dilationDim - 1);
const float rounded_val = roundingFunction(effective_size / static_cast<float>(strideDim));
outputDims[dim+2] = 1 + std::max(0, static_cast<int>(rounded_val));
}
outputDims[1] = inputDims[1];
outputDims[0] = inputDims[0];
getOutput(0)->resize(outputDims);
Loading