161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// Copyright 2017 The TensorFlow Authors. All Rights Reserved. 261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// 361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// Licensed under the Apache License, Version 2.0 (the "License"); 461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// you may not use this file except in compliance with the License. 561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// You may obtain a copy of the License at 661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// 761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// http://www.apache.org/licenses/LICENSE-2.0 861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// 961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// Unless required by applicable law or agreed to in writing, software 1061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// distributed under the License is distributed on an "AS IS" BASIS, 1161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// See the License for the specific language governing permissions and 1361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// limitations under the License. 1461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower// ============================================================================= 1561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/framework/node_def_builder.h" 1661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/framework/op.h" 1761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/framework/shape_inference_testutil.h" 1861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/framework/tensor.h" 1961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/framework/tensor_testutil.h" 2061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/lib/core/status_test_util.h" 2161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower#include "tensorflow/core/platform/test.h" 2261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 2361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowernamespace tensorflow { 2461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 2561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, CreateTreeVariable_ShapeFn) { 2661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("CreateTreeVariable"); 2761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower INFER_OK(op, "[1];[1]", ""); 2861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 2961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 3061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, TreeSerialize_ShapeFn) { 3161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("TreeSerialize"); 3261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower INFER_OK(op, "[1]", "[]"); 3361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 3461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 3561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, TreeDeserialize_ShapeFn) { 3661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("TreeDeserialize"); 3761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower INFER_OK(op, "[1];[1]", ""); 3861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 3961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 4061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, TreeSize_ShapeFn) { 4161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("TreeSize"); 4261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower INFER_OK(op, "[1]", "[]"); 4361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 4461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 4561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, TreePredictionsV4_ShapeFn) { 4661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("TreePredictionsV4"); 4761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower TF_ASSERT_OK(NodeDefBuilder("test", "TreePredictionsV4") 4861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Input("a", 0, DT_RESOURCE) 4961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Input("b", 1, DT_FLOAT) 5061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Input("c", 2, DT_INT64) 5161741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Input("d", 3, DT_FLOAT) 5261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Input("e", 5, DT_INT64) 5361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Attr("input_spec", "") 5461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Attr("params", "") 5561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower .Finalize(&op.node_def)); 5661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 5761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower // num_points = 2, sparse shape not known 5894934d94407962f992dfbc22007bbaaadbaf63c2A. Unique TensorFlower INFER_OK(op, "?;[2,3];?;?;?", "[d1_0,?];[?]"); 5961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 6061741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower // num_points = 2, sparse and dense shape rank known and > 1 6194934d94407962f992dfbc22007bbaaadbaf63c2A. Unique TensorFlower INFER_OK(op, "?;[2,3];?;?;[10,11]", "[d1_0,?];[?]"); 6261741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 6361741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower // num_points = 2, sparse shape rank known and > 1 6494934d94407962f992dfbc22007bbaaadbaf63c2A. Unique TensorFlower INFER_OK(op, "?;?;?;?;[10,11]", "[?,?];[?]"); 6561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 6661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 67786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlowerTEST(ModelOpsTest, TraverseTreeV4_ShapeFn) { 68786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower ShapeInferenceTestOp op("TraverseTreeV4"); 69786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower TF_ASSERT_OK(NodeDefBuilder("test", "TraverseTreeV4") 70786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Input("a", 0, DT_RESOURCE) 71786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Input("b", 1, DT_FLOAT) 72786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Input("c", 2, DT_INT64) 73786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Input("d", 3, DT_FLOAT) 74786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Input("e", 5, DT_INT64) 75786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Attr("input_spec", "") 76786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Attr("params", "") 77786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower .Finalize(&op.node_def)); 78786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower 79786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower // num_points = 2, sparse shape not known 80786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower INFER_OK(op, "?;[2,3];?;?;?", "[d1_0]"); 81786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower 82786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower // num_points = 2, sparse and dense shape rank known and > 1 83786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower INFER_OK(op, "?;[2,3];?;?;[10,11]", "[d1_0]"); 84786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower 85786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower // num_points = 2, sparse shape rank known and > 1 86786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower INFER_OK(op, "?;?;?;?;[10,11]", "[?]"); 87786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower} 88786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower 89786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlowerTEST(ModelOpsTest, UpdateModelV4_ShapeFn) { 90786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower ShapeInferenceTestOp op("UpdateModelV4"); 91786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower INFER_OK(op, "[1];?;?;?", ""); 92786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower} 93786bf6cd656d0d67e56bf50047ff116bae884b9eA. Unique TensorFlower 9461741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlowerTEST(ModelOpsTest, FeatureUsageCounts_ShapeFn) { 9561741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower ShapeInferenceTestOp op("FeatureUsageCounts"); 9661741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower INFER_OK(op, "[1]", "[?]"); 9761741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} 9861741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower 9961741db7b38135de931276a96709301c65ec4e12A. Unique TensorFlower} // namespace tensorflow 100