code: def setUp(self):
      self.inp1 = (
          np.random.randn(10 * 10 * 51)
          .reshape(10, 10, 51)
          .transpose(0, 2, 1)
      )
      self.inp2 = (
          np.random.randn(10 * 10 * 51)
          .reshape(10, 10, 51)
          .transpose(0, 2, 1)
      )
      inp1 = keras.layers.Input(batch_shape=(None, 51, 10), name="inp1")
      inp2 = keras.layers.Input(batch_shape=(None, 51, 10), name="inp2")
      conv = keras.layers.convolutional.Convolution1D(
          nb_filter=2,
          filter_length=4,
          subsample_length=2,
          activation="relu",
      )
      maxpool = keras.layers.convolutional.MaxPooling1D(
          pool_length=4, stride=2
      )
      conv1_out = conv(inp1)
      conv2_out = conv(inp2)
      maxpool1_out = maxpool(conv1_out)
      maxpool2_out = maxpool(conv2_out)
      merge_out = keras.layers.Concatenate(axis=2)(
          [maxpool1_out, maxpool2_out]
      )
      flatten_out = keras.layers.core.Flatten()(merge_out)
      dense1_out = keras.layers.core.Dense(output_dim=5)(flatten_out)
      dense1relu_out = keras.layers.core.Activation("relu")(dense1_out)
      output_preact = keras.layers.core.Dense(
          output_dim=1, name="output_preact"
      )(dense1relu_out)
      output = keras.layers.core.Activation(
          "sigmoid", name="output_postact"
      )(output_preact)
      self.keras_model = keras.models.Model(
          input=[inp1, inp2], output=output
      )
      self.keras_model.compile(
          optimizer="rmsprop",
          loss="binary_crossentropy",
          metrics=["accuracy"],
      )
  
      keras_output_fprop_func = compile_func(
          [inp1, inp2, keras.backend.learning_phase()],
          self.keras_model.layers[-1].output,
      )
      self.keras_output_fprop_func = (
          lambda x, y: keras_output_fprop_func([x, y, False])
      )
  
      grad = tf.gradients(
          tf.reduce_sum(output_preact[:, 0]), [inp1, inp2]
      )
      grad_func = compile_func(
          [inp1, inp2, keras.backend.learning_phase()], grad
      )
      self.grad_func = lambda x, y: grad_func([x, y, False])
  
      self.saved_file_path = "funcmodel.h5"
      if os.path.isfile(self.saved_file_path):
          os.remove(self.saved_file_path)
      self.keras_model.save(self.saved_file_path)
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import absolute_import
  import unittest
  from unittest import skip
  import sys
  import os
  import numpy
  from deeplift.conversion import kerasapi_conversion
  import deeplift.layers
  from deeplift.layers import NonlinearMxtsMode
  from deeplift.util import compile_func
  import tensorflow
  import keras
  from keras import models
  from keras import backend
label_desc: Use image node_id 1 for calling the TestFunctionalConcatModel obj's underlying member method code with example usage: obj.setUp() without return types