diff --git a/e2e/integration_tests/convert_predict.py b/e2e/integration_tests/convert_predict.py index 978241978c8..28706dcdd76 100644 --- a/e2e/integration_tests/convert_predict.py +++ b/e2e/integration_tests/convert_predict.py @@ -246,7 +246,7 @@ def _create_saved_model_with_conv2d(save_dir): return { "async": False, "inputs": { - "input_1": {"value": np.ones((1, 24, 24, 3)).tolist(), + "conv2d_input:0": {"value": np.ones((1, 24, 24, 3)).tolist(), "shape": [1, 24, 24, 3], "dtype": 'float32'}}, "outputs": { @@ -275,7 +275,7 @@ def _create_saved_model_with_prelu(save_dir): return { "async": False, "inputs": { - "input_1": {"value": np.ones((1, 24, 24, 3)).tolist(), + "conv2d_1_input": {"value": np.ones((1, 24, 24, 3)).tolist(), "shape": [1, 24, 24, 3], "dtype": 'float32'}}, "outputs": { @@ -353,7 +353,7 @@ def _create_saved_model_v2_with_tensorlist_ops(save_dir): """ model = tf.keras.Sequential() model.add(tf.keras.layers.Embedding(100, 20, input_shape=[10])) - model.add(tf.keras.layers.GRU(4, reset_after=True)) + model.add(tf.keras.layers.GRU(4)) result = model.predict(tf.ones([1, 10])) diff --git a/tfjs-converter/python/tensorflowjs/converters/tf_saved_model_conversion_v2.py b/tfjs-converter/python/tensorflowjs/converters/tf_saved_model_conversion_v2.py index 0041929adb7..832d26197e9 100644 --- a/tfjs-converter/python/tensorflowjs/converters/tf_saved_model_conversion_v2.py +++ b/tfjs-converter/python/tensorflowjs/converters/tf_saved_model_conversion_v2.py @@ -348,8 +348,13 @@ def _freeze_saved_model_v1(saved_model_dir, saved_model_tags, return frozen_graph def _freeze_saved_model_v2(concrete_func, control_flow_v2=False): + if tf.__version__ < '2.2.0': + return convert_to_constants.convert_variables_to_constants_v2( + concrete_func, lower_control_flow=not control_flow_v2).graph + return convert_to_constants.convert_variables_to_constants_v2( - concrete_func, lower_control_flow=not control_flow_v2).graph + concrete_func, lower_control_flow=not control_flow_v2, + aggressive_inlining=True).graph def _build_signature_def(frozen_graph, input_nodes, output_nodes): @@ -483,8 +488,10 @@ def convert_tf_saved_model(saved_model_dir, except BaseException: frozen_graph = _freeze_saved_model_v1(saved_model_dir, saved_model_tags, output_node_names) + + inputs = [x for x in concrete_func.inputs if not x.dtype == 'resource'] signature = _build_signature_def( - frozen_graph, concrete_func.inputs, concrete_func.outputs) + frozen_graph, inputs, concrete_func.outputs) optimize_graph(frozen_graph, signature, output_graph, model.tensorflow_version,