diff --git a/src/operator/Conv.cpp b/src/operator/Conv.cpp index 836c47645c20ff23539b836af8593cddfbb48498..ee850414cb97851b78e5413b5a4f69d77ad041a4 100644 --- a/src/operator/Conv.cpp +++ b/src/operator/Conv.cpp @@ -57,14 +57,12 @@ bool Aidge::Conv_Op<DIM>::forwardDims(bool /*allowDataDependency*/) { std::array<DimSize_t, DIM + 2> outputDims{}; const std::array<DimSize_t, DIM + 2> inputDims(getInput(0)->template dims<DIM+2>()); - for (std::size_t dim = 0; dim < mAttributes->template getAttr<ConvAttr::KernelDims>().size() ; ++dim) { - const DimSize_t kernelExtent = mAttributes->template getAttr<ConvAttr::DilationDims>()[dim] * - (mAttributes->template getAttr<ConvAttr::KernelDims>()[dim] - 1) + - 1; + for (std::size_t dim = 0; dim < kernelDims().size() ; ++dim) { + const DimSize_t kernelExtent = dilationDims()[dim] * (kernelDims()[dim] - 1) + 1; outputDims[dim+2] = 1 + static_cast<DimSize_t>( floor(static_cast<float>(inputDims[dim+2] - kernelExtent) / - static_cast<float>(mAttributes->template getAttr<ConvAttr::StrideDims>()[dim]))); + static_cast<float>(strideDims()[dim]))); } outputDims[1] = outChannels();