diff --git a/src/graph/GraphView.cpp b/src/graph/GraphView.cpp index 16edfab64cfa9b37b350e052a5b23ebbc3de9d31..f7b6b97cdf2e23080e17b3a162b72a327a893ca4 100644 --- a/src/graph/GraphView.cpp +++ b/src/graph/GraphView.cpp @@ -522,6 +522,9 @@ bool Aidge::GraphView::forwardDims(const std::vector<std::vector<Aidge::DimSize_ } if (parentsForwarded && op->forwardDims(allowDataDependency)) { + Log::debug("Dimensions forwarded for node {} (of type {})", + nodePtr->name(), nodePtr->type()); + // Recompute everytime, even if it was already computed in a // previous call of forwardDims(), as the graph may have changed! dimsForwarded.insert(nodePtr); @@ -532,7 +535,9 @@ bool Aidge::GraphView::forwardDims(const std::vector<std::vector<Aidge::DimSize_ } } else { - Log::debug("Unable to forward dimensions for node {} (of type {}) yet", nodePtr->name(), nodePtr->type()); + if (parentsForwarded) { + Log::debug("Unable to forward dimensions for node {} (of type {})", nodePtr->name(), nodePtr->type()); + } nextList.insert(nodePtr); } } diff --git a/src/operator/GenericOperator.cpp b/src/operator/GenericOperator.cpp index e8c66085de5bc7c808b7f2307a9a82b22a426bb2..0f90a5a58dbd8d69b847022c336075ecc3f3d553 100644 --- a/src/operator/GenericOperator.cpp +++ b/src/operator/GenericOperator.cpp @@ -43,6 +43,7 @@ Aidge::GenericOperator_Op::GenericOperator_Op(const std::string& type, Aidge::GenericOperator_Op::GenericOperator_Op(const Aidge::GenericOperator_Op& op) : OperatorTensor(op), + mForwardDims(op.mForwardDims), mAttributes(op.attributes() ? op.mAttributes : std::make_shared<DynamicAttributes>()) { mImpl = std::make_shared<OperatorImpl>(*this, op.backend()); diff --git a/src/operator/MetaOperator.cpp b/src/operator/MetaOperator.cpp index e3acba9b4cccdf525d80f85344ba500cc7ac885f..1a71737479f0c98cddcd4d1437012bfb16d2dc85 100644 --- a/src/operator/MetaOperator.cpp +++ b/src/operator/MetaOperator.cpp @@ -46,7 +46,7 @@ Aidge::MetaOperator_Op::MetaOperator_Op(const std::string& type, const std::shar } std::shared_ptr<Aidge::Operator> Aidge::MetaOperator_Op::clone() const { - return std::make_shared<MetaOperator_Op>(*this); + return std::make_shared<MetaOperator_Op>(type(), mGraph->clone()); } void Aidge::MetaOperator_Op::associateInput(const IOIndex_t inputIdx, const std::shared_ptr<Data>& data) {