MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST_F

Function TEST_F

tensorflow/core/grappler/optimizers/layout_optimizer_test.cc:225–258  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

223};
224
225TEST_F(LayoutOptimizerTest, Conv2DBackpropInput) {
226 tensorflow::Scope s = tensorflow::Scope::NewRootScope();
227 auto conv = SimpleConv2DBackpropInput(&s, 7, 2, "EXPLICIT");
228 Output fetch = ops::Identity(s.WithOpName("Fetch"), {conv});
229 GrapplerItem item;
230 TF_CHECK_OK(s.ToGraphDef(&item.graph));
231 LayoutOptimizer optimizer;
232 GraphDef output;
233
234 Status status = optimizer.Optimize(virtual_cluster_.get(), item, &output);
235 NodeMap node_map(&output);
236 string input_name = "Conv2DBackpropInput-0-LayoutOptimizer";
237 auto input_sizes_node = node_map.GetNode(input_name);
238 CHECK(input_sizes_node);
239 auto conv2d_backprop_node = node_map.GetNode("Conv2DBackpropInput");
240 CHECK(conv2d_backprop_node);
241 EXPECT_EQ(input_name, conv2d_backprop_node->input(0));
242 auto input_sizes = GetAttrValue(*input_sizes_node);
243 Tensor input_sizes_expected(DT_INT32, {4});
244 test::FillValues<int>(&input_sizes_expected, {128, 3, 7, 7});
245 test::ExpectTensorEqual<int>(input_sizes_expected, input_sizes);
246
247 if (gpu_available_) {
248 TensorShape filter_shape = GetAttrShape(*node_map.GetNode("Filter"));
249 Tensor filter_data = GenerateRandomTensor<DT_FLOAT>(filter_shape);
250 std::vector<string> fetch = {"Fetch"};
251 auto tensors_expected =
252 EvaluateNodes(item.graph, fetch, {{"Filter", filter_data}});
253 auto tensors = EvaluateNodes(output, fetch, {{"Filter", filter_data}});
254 EXPECT_EQ(1, tensors_expected.size());
255 EXPECT_EQ(1, tensors.size());
256 test::ExpectTensorNear<float>(tensors_expected[0], tensors[0], 1e-6);
257 }
258}
259
260TEST_F(LayoutOptimizerTest, Conv2DBackpropInputNonConstInputSizes) {
261 tensorflow::Scope s = tensorflow::Scope::NewRootScope();

Callers

nothing calls this directly

Calls 15

GetAttrValueFunction · 0.85
PartialTensorShapeClass · 0.85
ShapeNFunction · 0.85
IdentityNFunction · 0.85
NextIterationFunction · 0.85
WithOpNameMethod · 0.80
attrMethod · 0.80
set_inputMethod · 0.80
SimpleConv2DFunction · 0.70
typeMethod · 0.65

Tested by

no test coverage detected