code: def test_get_learning_rate_with_fn(self):
      learning_rate_var = tf.Variable(0.1, dtype=tf.float64)
  
      def learning_rate_fn():
          return learning_rate_var
  
      optimizer = tf.compat.v1.train.AdamOptimizer(
          learning_rate=learning_rate_fn
      )
      self.evaluate(tf.compat.v1.global_variables_initializer())
      learning_rate = ppo_utils.get_learning_rate(optimizer)
      expected_learning_rate = 0.1
      self.assertAlmostEqual(
          expected_learning_rate, self.evaluate(learning_rate)
      )
  
file_path: agents/tf_agents/agents/ppo/ppo_utils_test.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import tensorflow
  import tensorflow_probability
  from tf_agents.agents.ppo import ppo_utils
  from tf_agents.trajectories import time_step
label_desc: Use image node_id 5 for calling the PPOUtilsTest obj's underlying member method code with example usage: obj.test_get_learning_rate_with_fn() and returns: learning_rate_var