code: def main():
      np.random.seed(123)
      inp_a = np.random.uniform(size=(5, 10))
      inp_b = np.random.uniform(size=(5, 10))
      out_c = np.random.uniform(size=(5, 1))
  
      # Just for visual purposes.
      np.set_printoptions(precision=2)
  
      # Activations of all the layers
      print("MULTI-INPUT MODEL")
      m1 = get_multi_inputs_model()
      m1.compile(optimizer="adam", loss="mse")
      utils.print_names_and_values(
          keract.get_activations(m1, [inp_a, inp_b])
      )
      utils.print_names_and_values(
          keract.get_gradients_of_trainable_weights(
              m1, [inp_a, inp_b], out_c
          )
      )
      utils.print_names_and_values(
          keract.get_gradients_of_activations(m1, [inp_a, inp_b], out_c)
      )
  
      # Just get the last layer!
      utils.print_names_and_values(
          keract.get_activations(
              m1, [inp_a, inp_b], layer_names="last_layer"
          )
      )
      utils.print_names_and_values(
          keract.get_gradients_of_activations(
              m1, [inp_a, inp_b], out_c, layer_names="last_layer"
          )
      )
      print("")
  
      print("SINGLE-INPUT MODEL")
      m2 = get_single_inputs_model()
      m2.compile(optimizer="adam", loss="mse")
      utils.print_names_and_values(keract.get_activations(m2, inp_a))
      utils.print_names_and_values(
          keract.get_gradients_of_trainable_weights(m2, inp_a, out_c)
      )
      utils.print_names_and_values(
          keract.get_gradients_of_activations(m2, inp_a, out_c)
      )
  
file_path: keract/examples/multi_inputs.py
imports: import numpy
  import tensorflow
  from tensorflow.keras.layers import Add, Dense, Input
  from tensorflow.keras.models import Model
  import keract
  import utils
label_desc: Use image node_id 3 for calling a global function with example usage: main() without return types