EXPECT_EQ("Const", node_d.op());
std::vector<string> fetch = {"d"};
- auto tensors_expected = EvaluateNodes(item.graph, fetch, {});
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors_expected = EvaluateNodes(item.graph, fetch);
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(1, tensors_expected.size());
EXPECT_EQ(1, tensors.size());
test::ExpectTensorEqual<float>(tensors_expected[0], tensors[0]);
// Check that the result nodes have the expected value.
std::vector<string> fetch = {"c3", "c20"};
- auto tensor_expected = EvaluateNodes(item.graph, fetch, {});
+ auto tensor_expected = EvaluateNodes(item.graph, fetch);
EXPECT_EQ(fetch.size(), tensor_expected.size());
fetch = {"add_child", "mul_child"};
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(fetch.size(), tensors.size());
for (int i = 0; i < fetch.size(); i++) {
test::ExpectTensorEqual<float>(tensor_expected[i], tensors[i]);
// Check that the reciprocals have the expected value.
std::vector<string> fetch = {"cf_half"};
- auto tensor_expected = EvaluateNodes(item.graph, fetch, {});
+ auto tensor_expected = EvaluateNodes(item.graph, fetch);
EXPECT_EQ(fetch.size(), tensor_expected.size());
fetch = {"ConstantFolding/div_f_recip", "ConstantFolding/realdiv_recip"};
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(fetch.size(), tensors.size());
for (int i = 0; i < fetch.size(); i++) {
test::ExpectTensorEqual<float>(tensor_expected[0], tensors[i]);
EXPECT_EQ("Const", new_d.op());
std::vector<string> fetch = {"e", "f"};
- auto tensors_expected = EvaluateNodes(item.graph, fetch, {});
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors_expected = EvaluateNodes(item.graph, fetch);
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(fetch.size(), tensors_expected.size());
EXPECT_EQ(fetch.size(), tensors.size());
for (int i = 0; i < fetch.size(); i++) {
GrapplerItem item;
item.fetch.push_back("e");
TF_CHECK_OK(scope.ToGraphDef(&item.graph));
- auto tensors_expected = EvaluateNodes(item.graph, item.fetch, {});
+ auto tensors_expected = EvaluateNodes(item.graph, item.fetch);
EXPECT_EQ(1, tensors_expected.size());
ConstantFolding optimizer(nullptr /* cpu_device */);
GraphDef output;
if (node.name() == "e") {
EXPECT_EQ("Const", node.op());
++found;
- auto folded = EvaluateNodes(output, {"e"}, {});
- auto expected = EvaluateNodes(item.graph, {"e"}, {});
+ auto folded = EvaluateNodes(output, {"e"});
+ auto expected = EvaluateNodes(item.graph, {"e"});
EXPECT_EQ(1, expected.size());
EXPECT_EQ(1, folded.size());
test::ExpectTensorEqual<int>(folded[0], expected[0]);
}
}
EXPECT_EQ(1, found);
- auto tensors = EvaluateNodes(output, item.fetch, {});
+ auto tensors = EvaluateNodes(output, item.fetch);
EXPECT_EQ(1, tensors.size());
test::ExpectTensorEqual<int>(tensors_expected[0], tensors[0]);
}
if (node.name() == "i1") {
EXPECT_EQ("Const", node.op());
++found;
- auto folded = EvaluateNodes(output, {"i1"}, {});
- auto expected = EvaluateNodes(item.graph, {"i1"}, {});
+ auto folded = EvaluateNodes(output, {"i1"});
+ auto expected = EvaluateNodes(item.graph, {"i1"});
EXPECT_EQ(1, expected.size());
EXPECT_EQ(1, folded.size());
test::ExpectTensorEqual<int>(folded[0], expected[0]);
if (node.name() == "i2") {
EXPECT_EQ("Const", node.op());
++found;
- auto folded = EvaluateNodes(output, {"i2"}, {});
- auto expected = EvaluateNodes(item.graph, {"i2"}, {});
+ auto folded = EvaluateNodes(output, {"i2"});
+ auto expected = EvaluateNodes(item.graph, {"i2"});
EXPECT_EQ(1, expected.size());
EXPECT_EQ(1, folded.size());
test::ExpectTensorEqual<int>(folded[0], expected[0]);
GrapplerItem item;
item.fetch.push_back("i2");
TF_CHECK_OK(scope.ToGraphDef(&item.graph));
-
+ auto tensors_expected = EvaluateNodes(item.graph, item.fetch);
+ EXPECT_EQ(1, tensors_expected.size());
ConstantFolding optimizer(nullptr /* cpu_device */);
GraphDef output;
Status status = optimizer.Optimize(nullptr, item, &output);
EXPECT_EQ("^p2", node.input(1));
}
}
+ auto tensors = EvaluateNodes(output, item.fetch);
+ EXPECT_EQ(1, tensors.size());
+ test::ExpectTensorEqual<int>(tensors_expected[0], tensors[0]);
}
TEST_F(ConstantFoldingTest, VariableNumberOfOutputs) {
}
EXPECT_EQ(8, constant_folded);
- auto expected = EvaluateNodes(item.graph, outputs, {});
- auto optimized = EvaluateNodes(output, outputs, {});
+ auto expected = EvaluateNodes(item.graph, outputs);
+ auto optimized = EvaluateNodes(output, outputs);
ASSERT_EQ(expected.size(), optimized.size());
for (int i = 0; i < expected.size(); ++i) {
test::ExpectTensorEqual<int>(expected[i], optimized[i]);
EXPECT_EQ(6, found_nodes);
std::vector<string> fetch = {"out1", "idx1"};
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(2, tensors.size());
const Tensor& out_value = tensors[0];
EXPECT_EQ(3 * 5, out_value.NumElements());
EXPECT_EQ(2, found);
EXPECT_GT(1024 * 1024, output.ByteSizeLong());
+
+ auto tensors_expected = EvaluateNodes(item.graph, item.fetch);
+ EXPECT_EQ(1, tensors_expected.size());
+ auto tensors = EvaluateNodes(output, item.fetch);
+ EXPECT_EQ(1, tensors.size());
+ test::ExpectTensorEqual<float>(tensors_expected[0], tensors[0]);
}
TEST_F(ConstantFoldingTest, SwitchIdenticalInputs) {
}
std::vector<string> fetch = {"acc0"};
- auto tensors_expected = EvaluateNodes(item.graph, fetch, {});
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors_expected = EvaluateNodes(item.graph, fetch);
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(1, tensors_expected.size());
EXPECT_EQ(1, tensors.size());
test::ExpectTensorNear<float>(tensors_expected[0], tensors[0], 1e-6);
item.fetch = {"concat0", "concat1", "concat2", "concat3", "concat4",
"concat5", "concat6", "concat7", "concat8", "concat9"};
- auto tensors_expected = EvaluateNodes(item.graph, {"concat0"}, {});
+ auto tensors_expected = EvaluateNodes(item.graph, {"concat0"});
EXPECT_EQ(1, tensors_expected.size());
ConstantFolding optimizer(nullptr /* cpu_device */);
GraphDef output;
}
}
- auto tensors = EvaluateNodes(output, {"concat0"}, {});
+ auto tensors = EvaluateNodes(output, {"concat0"});
EXPECT_EQ(1, tensors.size());
test::ExpectTensorNear<float>(tensors_expected[0], tensors[0], 1e-6);
}
}
std::vector<string> fetch = {"stack"};
- auto tensors_expected = EvaluateNodes(item.graph, fetch, {});
- auto tensors = EvaluateNodes(output, fetch, {});
+ auto tensors_expected = EvaluateNodes(item.graph, fetch);
+ auto tensors = EvaluateNodes(output, fetch);
EXPECT_EQ(1, tensors_expected.size());
EXPECT_EQ(1, tensors.size());
EXPECT_EQ(tensors_expected[0].shape(), tensors[0].shape());