code: def _convert_action_input_to_string_vector(action_input_tensors):
      action_input_tensors_strings = tf.nest.map_structure(
          tf.strings.as_string, action_input_tensors
      )
  
      return tf.concat(
          [
              tf.expand_dims(
                  action_input_tensors_strings[0].step_type, 1
              ),
              tf.expand_dims(action_input_tensors_strings[0].reward, 1),
              tf.expand_dims(
                  action_input_tensors_strings[0].discount, 1
              ),
              action_input_tensors_strings[0].observation,
          ],
          1,
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  import shutil
  from absl.testing import parameterized
  import numpy
  import tensorflow
  import tensorflow_probability
  from tf_agents.networks import actor_distribution_network
  from tf_agents.networks import q_network
  from tf_agents.networks import q_rnn_network
  from tf_agents.policies import actor_policy
  from tf_agents.policies import policy_saver
  from tf_agents.policies import q_policy
  from tf_agents.policies import tf_policy
  from tf_agents.specs import tensor_spec
  from tf_agents.trajectories import policy_step
  from tf_agents.trajectories import time_step
  from tf_agents.utils import common
  from tf_agents.utils import test_utils
label_desc: Use image node_id 2 for calling a global function with example usage: _convert_action_input_to_string_vector(action_input_tensors) and returns: tf