From c2f7bee60493424147af553d965a26aada5bf426 Mon Sep 17 00:00:00 2001 From: sunchenggen Date: Wed, 18 Mar 2020 15:43:21 +0800 Subject: [PATCH] fix a bug in AddSymbolicGradients --- tensorflow/cc/framework/gradients.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tensorflow/cc/framework/gradients.cc b/tensorflow/cc/framework/gradients.cc index bd225c95f7c..8dfdd01318d 100644 --- a/tensorflow/cc/framework/gradients.cc +++ b/tensorflow/cc/framework/gradients.cc @@ -521,15 +521,15 @@ Status SymbolicGradientBuilder::AddGradients() { // gradient function to the src node/output to which it should be // backpropped. Maybe grad functions can return a vector of Output pairs to // make this association explicit. - size_t dx_index = 0; for (const Edge* e : n->in_edges()) { if (e->IsControlEdge()) continue; - if (dx_index == dx.size()) { + int dx_index = e->dst_input(); + if (dx_index >= dx.size()) { return errors::Internal( "Invalid gradient output index: ", dx_index, " size: ", dx.size()); } TF_RETURN_IF_ERROR( - BackpropAlongEdge(dx[dx_index++], {e->src(), e->src_output()})); + BackpropAlongEdge(dx[dx_index], {e->src(), e->src_output()})); } }