1# Copyright 2019 The TensorFlow Authors. All Rights Reserved. 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14# ============================================================================== 15"""Test configs for resize_nearest_neighbor.""" 16import tensorflow.compat.v1 as tf 17from tensorflow.lite.testing.zip_test_utils import create_tensor_data 18from tensorflow.lite.testing.zip_test_utils import make_zip_of_tests 19from tensorflow.lite.testing.zip_test_utils import register_make_test_function 20 21 22@register_make_test_function() 23def make_resize_nearest_neighbor_tests(options): 24 """Make a set of tests to do resize_nearest_neighbor.""" 25 26 test_parameters = [{ 27 "dtype": [tf.float32], 28 "input_shape": [[1, 3, 4, 3], [1, 10, 2, 1]], 29 "size": [[1, 1], [4, 3], [2, 2], [5, 6]], 30 "align_corners": [False], 31 "half_pixel_centers": [False], 32 "fully_quantize": [True, False], 33 }, { 34 "dtype": [tf.float32], 35 "input_shape": [[1, 16, 24, 3], [1, 12, 18, 3]], 36 "size": [[8, 12], [12, 18]], 37 "align_corners": [True], 38 "half_pixel_centers": [False], 39 "fully_quantize": [True, False] 40 }, { 41 "dtype": [tf.float32], 42 "input_shape": [[1, 16, 24, 3], [1, 12, 18, 3]], 43 "size": [[8, 12], [12, 18]], 44 "align_corners": [False], 45 "half_pixel_centers": [True], 46 "fully_quantize": [True, False] 47 }] 48 49 def build_graph(parameters): 50 input_tensor = tf.compat.v1.placeholder( 51 dtype=parameters["dtype"], 52 name="input", 53 shape=parameters["input_shape"]) 54 out = tf.image.resize_nearest_neighbor( 55 input_tensor, 56 size=parameters["size"], 57 align_corners=parameters["align_corners"], 58 half_pixel_centers=parameters["half_pixel_centers"]) 59 return [input_tensor], [out] 60 61 def build_inputs(parameters, sess, inputs, outputs): 62 input_values = create_tensor_data( 63 parameters["dtype"], 64 parameters["input_shape"], 65 min_value=-1, 66 max_value=1) 67 return [input_values], sess.run( 68 outputs, feed_dict=dict(zip(inputs, [input_values]))) 69 70 make_zip_of_tests(options, test_parameters, build_graph, build_inputs) 71