def test_infer_inputs_and_outputs(self): x_shape = (3, 4, 5) @make_tf_graph([x_shape]) def build_model(x): return tf.nn.relu(x) model, inputs, outputs = build_model mlmodel = converter.convert(model) assert mlmodel is not None input_values = [random_gen(x_shape, -10.0, 10.0)] input_dict = dict(zip(inputs, input_values)) run_compare_tf(model, input_dict, outputs)
def test_scalar_placeholder_shape(self): x_shape = () # Scalar Placeholder Shape @make_tf_graph([x_shape]) def build_model(x): return tf.nn.relu(x) model, inputs, outputs = build_model mlmodel = converter.convert(model, source=frontend) assert mlmodel is not None input_values = [random_gen(x_shape, -10.0, 10.0)] input_dict = dict(zip(inputs, input_values)) run_compare_tf(model, input_dict, outputs)
def test_infer_outputs(self): x_shape = (3, 4, 5) @make_tf_graph([x_shape]) def build_model(x): return tf.nn.relu(x) model, inputs, outputs = build_model input_name = ( inputs[0] if isinstance(inputs[0], six.string_types) else inputs[0].op.name ) mlmodel = converter.convert(model, inputs=[TensorType(input_name, (3, 4, 5))]) assert mlmodel is not None input_values = [random_gen(x_shape, -10.0, 10.0)] input_dict = dict(zip(inputs, input_values)) run_compare_tf(model, input_dict, outputs)
def test_selu(self, use_cpu_only, backend, rank): input_shape = np.random.randint(low=1, high=6, size=rank) @make_tf_graph([input_shape]) def build_model(x): return tf.keras.activations.selu(x) model, inputs, outputs = build_model input_values = [random_gen(input_shape, -10.0, 10.0)] input_dict = dict(zip(inputs, input_values)) run_compare_tf( model, input_dict, outputs, use_cpu_only=use_cpu_only, frontend_only=False, backend=backend, )
def test_infer_inputs(self): x_shape = (3, 4, 5) @make_tf_graph([x_shape]) def build_model(x): return tf.nn.relu(x) model, inputs, outputs = build_model if not isinstance(outputs, (tuple, list)): outputs = [outputs] output_names = [ j if isinstance(j, six.string_types) else j.op.name for j in outputs ] mlmodel = converter.convert(model, outputs=output_names) assert mlmodel is not None input_values = [random_gen(x_shape, -10.0, 10.0)] input_dict = dict(zip(inputs, input_values)) run_compare_tf(model, input_dict, outputs)
def test_masked_input(self, use_cpu_only, backend): input_shape = [4, 10, 8] val = np.random.rand(*input_shape).astype(np.float32) @make_tf_graph([input_shape]) def build_model(input): sliced_input = input[..., 4] mask = tf.where_v2(sliced_input > 0) masked_input = tf.gather_nd(input, mask) return masked_input model, inputs, outputs = build_model input_values = [val] input_dict = dict(zip(inputs, input_values)) run_compare_tf( model, input_dict, outputs, use_cpu_only=use_cpu_only, frontend_only=False, backend=backend, )