From: A. Unique TensorFlower Date: Tue, 8 May 2018 23:16:57 +0000 (-0700) Subject: add test for pruning useless function lib in graph. X-Git-Tag: upstream/v1.9.0_rc1~150^2~1^2~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0028bf843d8846bd16b25bf5447b1649fde10fb7;p=platform%2Fupstream%2Ftensorflow.git add test for pruning useless function lib in graph. PiperOrigin-RevId: 195893756 --- diff --git a/tensorflow/core/grappler/optimizers/function_optimizer_test.cc b/tensorflow/core/grappler/optimizers/function_optimizer_test.cc index a2dbab3..0aaf57e 100644 --- a/tensorflow/core/grappler/optimizers/function_optimizer_test.cc +++ b/tensorflow/core/grappler/optimizers/function_optimizer_test.cc @@ -835,5 +835,30 @@ TEST_F(FunctionOptimizerTest, SpecializeFunction_OncePerUniqueContext) { test::ExpectTensorEqual(tensors_expected[5], tensors[5]); } +TEST_F(FunctionOptimizerTest, PruningUselessLibraryFunctions) { + using test::function::NDef; + FunctionOptimizer optimizer(RewriterConfig::DEFAULT); + DisableFunctionSpecialization(&optimizer); + auto func = test::function::XTimesTwo(); + (*func.mutable_attr())["_noinline"].set_b(true); + GrapplerItem item; + item.graph = test::function::GDef( + {NDef("x", "Placeholder", {}, {{"dtype", DT_FLOAT}}, "/device:CPU:0"), + NDef("y", "XTimesTwo", {"x"}, {{"T", DT_FLOAT}}, "/device:CPU:0"), + NDef("z", "Identity", {"y"}, {{"T", DT_FLOAT}}, "/device:CPU:0")}, + // FunctionLib + { + func, + test::function::XTimesTwoInt32(), + test::function::XTimes16(), + }); + GraphDef output; + Status status = optimizer.Optimize(nullptr, item, &output); + TF_EXPECT_OK(status); + + EXPECT_EQ(output.library().function().size(), 1); + EXPECT_EQ(output.library().function(0).signature().name(), "XTimesTwo"); +} + } // namespace grappler } // namespace tensorflow