@@ -106,15 +106,15 @@ class FcOp : public operators::NetOp {
106106 FcOp (const std::string &type, const VariableNameMap &inputs,
107107 const VariableNameMap &outputs, const AttributeMap &attrs)
108108 : NetOp(type, inputs, outputs, attrs) {
109- AppendOp (OpRegistry::CreateOp (" mul " ,
110- {{" X" , {Input (" X" )}}, {" Y" , {Input (" W" )}}},
111- {{" Out" , {Output (" mul_result" )}}}, {}));
109+ AppendOp (OpRegistry::CreateOp (
110+ " mul " , {{" X" , {Input (" X" )}}, {" Y" , {Input (" W" )}}},
111+ {{" Out" , {Output (" mul_result" )}}}, AttributeMap {}));
112112 auto input_b = Inputs (" b" );
113113 std::string before_act = " mul_result" ;
114114 if (input_b.size () != 0 ) {
115115 AppendOp (OpRegistry::CreateOp (
116116 " rowwise_add" , {{" X" , {Output (" mul_result" )}}, {" b" , {input_b[0 ]}}},
117- {{" Out" , {Output (" add_result" )}}}, {}));
117+ {{" Out" , {Output (" add_result" )}}}, AttributeMap {}));
118118 before_act = " add_result" ;
119119 } else {
120120 auto out_varname = Output (" add_result" );
@@ -124,7 +124,7 @@ class FcOp : public operators::NetOp {
124124 }
125125
126126 AppendOp (OpRegistry::CreateOp (" sigmoid" , {{" X" , {Output (before_act)}}},
127- {{" Out" , {Output (" Out" )}}}, {}));
127+ {{" Out" , {Output (" Out" )}}}, AttributeMap {}));
128128 CompleteAddOp (false );
129129 }
130130};
@@ -278,8 +278,9 @@ REGISTER_OPERATOR(scale, f::NoneOp);
278278REGISTER_OP_CPU_KERNEL (scale, f::NoneKernel<paddle::platform::CPUPlace, float >);
279279
280280TEST (Backward, simple_op_not_need_grad) {
281- auto fwd = f::OpRegistry::CreateOp (
282- " rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}}, {{" Out" , {" out" }}}, {});
281+ auto fwd =
282+ f::OpRegistry::CreateOp (" rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}},
283+ {{" Out" , {" out" }}}, f::AttributeMap{});
283284 ASSERT_NE (fwd, nullptr );
284285 auto gop = f::Backward (*fwd, {" x" });
285286 ASSERT_EQ (gop->Output (f::GradVarName (" X" )), f::kEmptyVarName );
@@ -296,9 +297,10 @@ TEST(Backward, net_fc_backward_normal) {
296297 {{" mul_result" , {" mul_res" }},
297298 {" add_result" , {" add_re" }},
298299 {" Out" , {" out" }}},
299- {});
300+ f::AttributeMap {});
300301 ASSERT_NE (fwd, nullptr );
301- std::shared_ptr<f::OperatorBase> gop = f::Backward (*fwd, {});
302+ std::shared_ptr<f::OperatorBase> gop =
303+ f::Backward (*fwd, std::unordered_set<std::string>{});
302304 ASSERT_TRUE (gop->IsNetOp ());
303305 auto net = static_cast <ops::NetOp *>(gop.get ());
304306
@@ -322,9 +324,10 @@ TEST(Backward, net_fc_backward_not_have_b) {
322324 {{" mul_result" , {" mul_res" }},
323325 {" add_result" , {" add_res" }},
324326 {" Out" , {" tmp" }}},
325- {});
327+ f::AttributeMap {});
326328 ASSERT_NE (fwd, nullptr );
327- std::shared_ptr<f::OperatorBase> gop = f::Backward (*fwd, {});
329+ std::shared_ptr<f::OperatorBase> gop =
330+ f::Backward (*fwd, std::unordered_set<std::string>{});
328331 ASSERT_TRUE (gop->IsNetOp ());
329332 auto net = static_cast <ops::NetOp *>(gop.get ());
330333
@@ -346,13 +349,13 @@ TEST(Backward, net_input_of_network_not_need_grad) {
346349 {{" mul_result" , {" mul_tmp_0" }},
347350 {" add_result" , {" add_tmp_0" }},
348351 {" Out" , {" hidden0" }}},
349- {}));
352+ f::AttributeMap {}));
350353 net.AppendOp (f::OpRegistry::CreateOp (
351354 " fc" , {{" X" , {" hidden0" }}, {" W" , {" W2" }}, {" b" , {" b2" }}},
352355 {{" mul_result" , {" mul_tmp_1" }},
353356 {" add_result" , {" add_tmp_1" }},
354357 {" Out" , {" hidden1" }}},
355- {}));
358+ f::AttributeMap {}));
356359 net.CompleteAddOp ();
357360 auto bwd = Backward (net, {" x" }); // x@GRAD is not need.
358361 ASSERT_TRUE (bwd->IsNetOp ());
@@ -381,39 +384,43 @@ TEST(Backward, net_input_of_network_not_need_grad) {
381384TEST (Backward, net_shared_weight) {
382385 ops::NetOp net;
383386 net.AppendOp (f::OpRegistry::CreateOp (" mul" , {{" X" , {" x" }}, {" Y" , {" w" }}},
384- {{" Out" , {" out" }}}, {}));
387+ {{" Out" , {" out" }}}, f::AttributeMap {}));
385388 net.AppendOp (f::OpRegistry::CreateOp (" mul" , {{" X" , {" out" }}, {" Y" , {" w" }}},
386- {{" Out" , {" FinalOut" }}}, {}));
389+ {{" Out" , {" FinalOut" }}},
390+ f::AttributeMap{}));
387391 net.CompleteAddOp ();
388392
389- auto bwd = f::Backward (net, {});
393+ auto bwd = f::Backward (net, std::unordered_set<std::string> {});
390394 ASSERT_TRUE (bwd->IsNetOp ());
391395 auto bwd_net = static_cast <ops::NetOp *>(bwd.get ());
392396 ASSERT_EQ (3UL , bwd_net->ops_ .size ());
393397 ASSERT_EQ (" sum" , bwd_net->ops_ [2 ]->Type ());
394398}
395399
396400TEST (Backward, op_all_input_are_not_need) {
397- auto fwd = f::OpRegistry::CreateOp (
398- " rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}}, {{" Out" , {" out" }}}, {});
401+ auto fwd =
402+ f::OpRegistry::CreateOp (" rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}},
403+ {{" Out" , {" out" }}}, f::AttributeMap{});
399404 auto backward = f::Backward (*fwd, {" x" , " b" });
400405 ASSERT_TRUE (backward->IsNetOp ());
401406 auto net = static_cast <ops::NetOp *>(backward.get ());
402407 ASSERT_TRUE (net->ops_ .empty ());
403408}
404409
405410TEST (Backward, op_all_output_are_not_need) {
406- auto fwd = f::OpRegistry::CreateOp (
407- " rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}}, {{" Out" , {" out" }}}, {});
411+ auto fwd =
412+ f::OpRegistry::CreateOp (" rowwise_add" , {{" X" , {" x" }}, {" b" , {" b" }}},
413+ {{" Out" , {" out" }}}, f::AttributeMap{});
408414 auto backward = f::Backward (*fwd, {" out" });
409415 ASSERT_TRUE (backward->IsNetOp ());
410416 auto net = static_cast <ops::NetOp *>(backward.get ());
411417 ASSERT_TRUE (net->ops_ .empty ());
412418}
413419
414420TEST (Backward, op_part_of_output_are_not_need) {
415- auto fwd = f::OpRegistry::CreateOp (" many_output_op" , {{" x" , {" X" }}},
416- {{" y" , {" Y" }}, {" z" , {" Z" }}}, {});
421+ auto fwd =
422+ f::OpRegistry::CreateOp (" many_output_op" , {{" x" , {" X" }}},
423+ {{" y" , {" Y" }}, {" z" , {" Z" }}}, f::AttributeMap{});
417424 auto backward = f::Backward (*fwd, {" Z" });
418425 ASSERT_TRUE (backward->IsNetOp ());
419426 auto net = static_cast <ops::NetOp *>(backward.get ());
@@ -437,7 +444,7 @@ TEST(Backward, op_part_of_output_are_not_need) {
437444
438445TEST (Backward, op_part_of_input_are_not_need) {
439446 auto fwd = f::OpRegistry::CreateOp (" mul" , {{" X" , {" a" }}, {" Y" , {" b" }}},
440- {{" Out" , {" out" }}}, {});
447+ {{" Out" , {" out" }}}, f::AttributeMap {});
441448 auto backward = f::Backward (*fwd, {" a" });
442449 auto &grad_mul = *backward;
443450 ASSERT_EQ (grad_mul.Type (), " mul_grad" );
@@ -458,19 +465,19 @@ TEST(Backward, linear_net_intermediate_variable_has_no_grad) {
458465 {{" mul_result" , {" mul_out1" }},
459466 {" add_result" , {" add_out1" }},
460467 {" Out" , {" out1" }}},
461- {}));
468+ f::AttributeMap {}));
462469 net.AppendOp (f::OpRegistry::CreateOp (
463470 " fc" , {{" X" , {" out1" }}, {" W" , {" w2" }}, {" b" , {" b2" }}},
464471 {{" mul_result" , {" mul_out2" }},
465472 {" add_result" , {" tmp_out2" }},
466473 {" Out" , {" out2" }}},
467- {}));
474+ f::AttributeMap {}));
468475 net.AppendOp (f::OpRegistry::CreateOp (
469476 " fc" , {{" X" , {" out2" }}, {" W" , {" w3" }}, {" b" , {" b3" }}},
470477 {{" mul_result" , {" mul_out3" }},
471478 {" add_result" , {" tmp_out3" }},
472479 {" Out" , {" out3" }}},
473- {}));
480+ f::AttributeMap {}));
474481 net.CompleteAddOp ();
475482
476483 auto backward = f::Backward (net, {" mul_out2" , " tmp_out2" , " out2" });
@@ -509,7 +516,8 @@ TEST(Backward, simple_single_op) {
509516
510517 auto target = f::VarDescBind (" out" );
511518 target.SetShape ({1 });
512- auto var_to_grad = AppendBackward (program, target, {});
519+ auto var_to_grad =
520+ AppendBackward (program, target, std::unordered_set<std::string>{});
513521
514522 ASSERT_EQ (block->AllOps ().size (), 3UL );
515523 f::OpDescBind *fill_op = block->AllOps ()[1 ];
@@ -546,7 +554,7 @@ TEST(Backward, default_attribute) {
546554
547555 auto target = f::VarDescBind (" out" );
548556 target.SetShape ({1 });
549- AppendBackward (program, target, {});
557+ AppendBackward (program, target, std::unordered_set<std::string> {});
550558
551559 ASSERT_EQ (block->AllOps ().size (), 3UL );
552560 EXPECT_EQ (boost::get<int >(op->GetAttr (" x_num_col_dims" )), 1 );
@@ -585,7 +593,8 @@ TEST(Backward, simple_mult_op) {
585593 auto target = f::VarDescBind (" out3" );
586594 target.SetShape ({1 });
587595 size_t forward_len = block->AllOps ().size ();
588- auto var_to_grad = AppendBackward (program, target, {});
596+ auto var_to_grad =
597+ AppendBackward (program, target, std::unordered_set<std::string>{});
589598
590599 ASSERT_EQ (block->AllOps ().size (), 6UL + 1 );
591600 f::OpDescBind *fill_op = block->AllOps ()[forward_len];
@@ -817,7 +826,8 @@ TEST(Backward, shared_var) {
817826 auto target = f::VarDescBind (" out3" );
818827 target.SetShape ({1 });
819828 size_t forward_len = block->AllOps ().size ();
820- auto var_to_grad = AppendBackward (program, target, {});
829+ auto var_to_grad =
830+ AppendBackward (program, target, std::unordered_set<std::string>{});
821831
822832 ASSERT_EQ (block->AllOps ().size (), 8UL );
823833 f::OpDescBind *fill_op = block->AllOps ()[forward_len];
0 commit comments