code: def test_keras_model_to_graph_def_functional_model_as_layer(self):
      expected_proto = """
              node {
                name: "model_1/sub_func_input_2"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "InputLayer"
                  }
                }
              }
              node {
                name: "model_1/sub_func_input_1"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "InputLayer"
                  }
                }
              }
              node {
              name: "model_1/model/sub_func_input_1"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "InputLayer"
                  }
                }
              }
              node {
                name: "model_1/model/sub_func_input_2"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "InputLayer"
                  }
                }
              }
              node {
                name: "model_1/model/dense"
                input: "model_1/model/sub_func_input_1"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "Dense"
                  }
                }
              }
              node {
                name: "model_1/model/dense_1"
                input: "model_1/model/sub_func_input_2"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "Dense"
                  }
                }
              }
              node {
                name: "model_1/concatenate"
                input: "model_1/model/dense"
                input: "model_1/model/dense_1"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "Concatenate"
                  }
                }
              }
              node {
                name: "model_1/dense_2"
                input: "model_1/concatenate"
                attr {
                  key: "dtype"
                  value {
                    type: DT_FLOAT
                  }
                }
                attr {
                  key: "keras_class"
                  value {
                    s: "Dense"
                  }
                }
              }
          """
      inputs1 = keras.layers.Input(
          shape=(784,), name="sub_func_input_1"
      )
      inputs2 = keras.layers.Input(
          shape=(784,), name="sub_func_input_2"
      )
      d0 = keras.layers.Dense(64, activation="relu")
      d1 = keras.layers.Dense(64, activation="relu")
      d2 = keras.layers.Dense(64, activation="relu")
  
      sub_model = keras.models.Model(
          inputs=[inputs2, inputs1],
          outputs=[d0(inputs1), d1(inputs2)],
          name="model",
      )
  
      main_outputs = d2(
          keras.layers.concatenate(sub_model([inputs2, inputs1]))
      )
      model = keras.models.Model(
          inputs=[inputs2, inputs1],
          outputs=main_outputs,
          name="model_1",
      )
  
      self.assertGraphDefToModel(expected_proto, model)
  
file_path: tensorboard/tensorboard/plugins/graph/keras_util_test.py
imports: import json
  import tensorflow
  from tensorboard.plugins.graph import keras_util
label_desc: Use image node_id 8 for calling the KerasUtilTest obj's underlying member method code with example usage: obj.test_keras_model_to_graph_def_functional_model_as_layer() without return types