diff --git a/src/graph/GraphView.cpp b/src/graph/GraphView.cpp index d231376551126a835159844268dc47bb3e9e72bf..5a3eb695d7288c6414c01a82b36638f8b93d6b5f 100644 --- a/src/graph/GraphView.cpp +++ b/src/graph/GraphView.cpp @@ -650,9 +650,12 @@ void Aidge::GraphView::add(std::shared_ptr<Node> node, bool includeLearnablePara std::pair<std::vector<Aidge::NodePtr>, size_t> Aidge::GraphView::getRankedNodes() const { std::set<NodePtr> nodesToRank(mNodes); - nodesToRank.erase(mRootNode); std::vector<NodePtr> rankedNodes; - rankedNodes.push_back(mRootNode); + + if (mRootNode) { + nodesToRank.erase(mRootNode); + rankedNodes.push_back(mRootNode); + } for (size_t curNodeIdx = 0; curNodeIdx < rankedNodes.size(); ++curNodeIdx) { NodePtr curNode = rankedNodes[curNodeIdx]; diff --git a/src/operator/Split.cpp b/src/operator/Split.cpp index c4698f83ca63dbb0bff964a0b1d27269ac788dac..e3ed13588d8c2b5ddde91d37fc926d675f0666a3 100644 --- a/src/operator/Split.cpp +++ b/src/operator/Split.cpp @@ -37,15 +37,15 @@ void Aidge::Split_OpImpl::forward() { const std::size_t stride_post = std::accumulate(dims.crbegin(), dims.crbegin() + dims.size() -1 - axis, 1, std::multiplies<std::size_t>()); for (auto i = 0; i < op.nbOutputs(); ++i) { - DimIdx_t chunkIdxOnAxis = std::accumulate(splits.cbegin(), splits.cbegin() + i, 0) * stride_post; - DimIdx_t offset = 0; + DimSize_t chunkIdxOnAxis = std::accumulate(splits.cbegin(), splits.cbegin() + i, 0) * stride_post; + DimSize_t offset = 0; for (std::size_t j = 0; j < stride_pre; ++j) { // Compute chunk position in input tensor - DimIdx_t idx = j * stride_post * dims[axis] + chunkIdxOnAxis; + DimSize_t idx = j * stride_post * dims[axis] + chunkIdxOnAxis; // Copy chunk in ouput op.getOutput(i)->getImpl()->copy(op.getInput(0)->getImpl()->rawPtr(idx), - splits[i] * stride_post, offset); + splits[i] * stride_post, offset); offset += splits[i] * stride_post; }