@@ -50,11 +50,11 @@ Status RunAndMaybeSum(AbstractContext* ctx, Model forward,
5050 absl::Span<AbstractTensorHandle* const > inputs,
5151 absl::Span<AbstractTensorHandle*> outputs,
5252 bool use_function) {
53- std::vector< AbstractTensorHandle*> model_outputs ( 1 ) ;
53+ AbstractTensorHandle* model_outputs[ 1 ] ;
5454
5555 // Run the model.
56- TF_RETURN_IF_ERROR (RunModel (forward, ctx, inputs,
57- absl::MakeSpan ( model_outputs) , use_function));
56+ TF_RETURN_IF_ERROR (
57+ RunModel (forward, ctx, inputs, model_outputs, use_function));
5858 AbstractTensorHandlePtr model_out (model_outputs[0 ]);
5959
6060 TF_Tensor* model_out_tensor;
@@ -83,8 +83,8 @@ Status RunAndMaybeSum(AbstractContext* ctx, Model forward,
8383 }
8484
8585 // Reduce sum the output on all dimensions.
86- TF_RETURN_IF_ERROR (
87- ops::Sum (ctx, model_out. get (), sum_dims. get (), outputs, " sum_output" ));
86+ TF_RETURN_IF_ERROR (ops::Sum (ctx, model_out. get (), sum_dims. get (), &outputs[ 0 ],
87+ " sum_output" ));
8888 return Status::OK ();
8989}
9090// ========================= End Helper Functions==============================
@@ -122,7 +122,7 @@ Status CalcNumericalGrad(AbstractContext* ctx, Model forward,
122122 // Initialize auxilary data structures.
123123 vector<float > thetaPlus_data (num_elems);
124124 vector<float > thetaMinus_data (num_elems);
125- std::vector< AbstractTensorHandle*> f_outputs ( 1 ) ;
125+ AbstractTensorHandle* f_outputs[ 1 ] ;
126126
127127 // Numerical Grad Check
128128 for (int i = 0 ; i < num_elems; i++) {
@@ -164,25 +164,25 @@ Status CalcNumericalGrad(AbstractContext* ctx, Model forward,
164164
165165 // Get f(theta + eps):
166166 theta_inputs[input_index] = thetaPlus.get ();
167- TF_RETURN_IF_ERROR (RunAndMaybeSum (ctx, forward, theta_inputs,
168- absl::MakeSpan ( f_outputs) , use_function));
167+ TF_RETURN_IF_ERROR (
168+ RunAndMaybeSum (ctx, forward, theta_inputs, f_outputs, use_function));
169169 AbstractTensorHandlePtr fPlus (f_outputs[0 ]);
170170
171171 // Get f(theta - eps):
172172 theta_inputs[input_index] = thetaMinus.get ();
173- TF_RETURN_IF_ERROR (RunAndMaybeSum (ctx, forward, theta_inputs,
174- absl::MakeSpan ( f_outputs) , use_function));
173+ TF_RETURN_IF_ERROR (
174+ RunAndMaybeSum (ctx, forward, theta_inputs, f_outputs, use_function));
175175 AbstractTensorHandlePtr fMinus (f_outputs[0 ]);
176176
177177 // Take Difference of both estimates: (f(theta + eps) - f(theta - eps)).
178- TF_RETURN_IF_ERROR (ops::Sub (ctx, fPlus . get (), fMinus . get (),
179- absl::MakeSpan (f_outputs) , " sub_top" ));
178+ TF_RETURN_IF_ERROR (
179+ ops::Sub (ctx, fPlus . get (), fMinus . get (), f_outputs , " sub_top" ));
180180 AbstractTensorHandlePtr fDiff (f_outputs[0 ]);
181181
182182 // Calculate using the difference quotient definition:
183183 // (f(theta + eps) - f(theta - eps)) / (2 * eps).
184- TF_RETURN_IF_ERROR (ops::Div (ctx, fDiff . get (), two_eps. get (),
185- absl::MakeSpan (f_outputs) , " diff_quotient" ));
184+ TF_RETURN_IF_ERROR (
185+ ops::Div (ctx, fDiff . get (), two_eps. get (), f_outputs , " diff_quotient" ));
186186 AbstractTensorHandlePtr diff_quotient (f_outputs[0 ]);
187187
188188 TF_Tensor* grad_tensor;
0 commit comments