class_docstr: UninitializedVariable component for TPU.
  
  Sometimes user might assign (different values) to a single component of a
  mirrored TPU variable. Thus we need to initialize_all when the assign* or read
  is invoked on a single component.
class_docstr_tok: ["UninitializedVariable","component","for","TPU",".","Sometimes","user","might","assign","(","different","values",")","to","a","single","component","of","a","mirrored","TPU","variable",".","Thus","we","need","to","initialize_all","when","the","assign","*","or","read","is","invoked","on","a","single","component","."]
code: def assign(self, value, use_locking=None, name=None, read_value=True):
      self._lazy_scope.initialize_all()
      return super().assign(
          value,
          use_locking=use_locking,
          name=name,
          read_value=read_value,
      )
  
imports: import contextlib
  from tensorflow.python.distribute import packed_distributed_variable
  from tensorflow.python.eager import context
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.tpu import tpu_replication
label_desc: Use image node_id 3 for calling the TPUUninitializedVariable obj's underlying member method code with example usage: obj.assign(value, use_locking, name, read_value) and returns: super