code: def init_uninitialized_vars(
      target_vars: List[tf.Variable] = None,
  ) -> None:
      """Initialize all tf.Variables that have not already been initialized.
  
      Equivalent to the following, but more efficient and does not bloat the tf graph:
      tf.variables_initializer(tf.report_uninitialized_variables()).run()
      """
      assert_tf_initialized()
      if target_vars is None:
          target_vars = tf.global_variables()
  
      test_vars = []
      test_ops = []
  
      with tf.control_dependencies(
          None
      ):  # ignore surrounding control_dependencies
          for var in target_vars:
              assert is_tf_expression(var)
  
              try:
                  tf.get_default_graph().get_tensor_by_name(
                      var.name.replace(":0", "/IsVariableInitialized:0")
                  )
              except KeyError:
                  # Op does not exist => variable may be uninitialized.
                  test_vars.append(var)
  
                  with absolute_name_scope(var.name.split(":")[0]):
                      test_ops.append(tf.is_variable_initialized(var))
  
      init_vars = [
          var
          for var, inited in zip(test_vars, run(test_ops))
          if not inited
      ]
      run([var.initializer for var in init_vars])
  
imports: import os
  import numpy
  import tensorflow
  import logging
  import tensorflow.contrib
  from typing import Any, Iterable, List, Union
label_desc: Use image node_id 15 for calling a global function with example usage: init_uninitialized_vars(target_vars) without return types