code: def testCreateFeedForwardCommonTowerNetwork(
      self, batch_size, feature_dim, num_actions
  ):
      obs_spec = bandit_spec_utils.create_per_arm_observation_spec(
          7, feature_dim, num_actions
      )
      net = gafn.create_feed_forward_common_tower_network(
          obs_spec,
          global_layers=(4, 3, 2),
          arm_layers=(6, 5, 4),
          common_layers=(7, 6, 5),
      )
      input_nest = tensor_spec.sample_spec_nest(
          obs_spec, outer_dims=(batch_size,)
      )
      output, _ = net(input_nest)
      self.evaluate(tf.compat.v1.global_variables_initializer())
      output = self.evaluate(output)
      self.assertAllEqual(output.shape, (batch_size, num_actions))
  
file_path: agents/tf_agents/bandits/networks/global_and_arm_feature_network_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.bandits.networks import global_and_arm_feature_network
  from tf_agents.bandits.specs import utils
  from tf_agents.specs import tensor_spec
  from tf_agents.utils import test_utils
label_desc: Use image node_id 1 for calling the GlobalAndArmFeatureNetworkTest obj's underlying member method code with example usage: obj.testCreateFeedForwardCommonTowerNetwork(batch_size, feature_dim, num_actions) without return types