class_docstr: Proxy variable implementation.
class_docstr_tok: ["Proxy","variable","implementation","."]
docstr: Create and return new update ops for proxy vars.
  
  Args:
      grad_apply_finished (List[Operation]): ops with which to colocate the new ops.
      worker_device (DeviceSpecV2): the device on which to create the ops.
  
  Returns:
      List[Operation]: the list of update ops for each proxy variable.
docstr_tok: ["Create","and","return","new","update","ops","for","proxy","vars",".","Args",":","grad_apply_finished","(","List","[","Operation","]",")",":","ops","with","which","to","colocate","the","new","ops",".","worker_device","(","DeviceSpecV2",")",":","the","device","on","which","to","create","the","ops",".","Returns",":","List","[","Operation","]",":","the","list","of","update","ops","for","each","proxy","variable","."]
code: def get_all_update_ops(self, grad_apply_finished, worker_device=None):
      """
      Create and return new update ops for proxy vars.
  
      Args:
          grad_apply_finished (List[Operation]): ops with which to colocate the new ops.
          worker_device (DeviceSpecV2): the device on which to create the ops.
  
      Returns:
          List[Operation]: the list of update ops for each proxy variable.
      """
      with ops.device(worker_device):
          with ops.control_dependencies(grad_apply_finished):
              updated_value = gen_read_var_op(
                  self._this_op, self._dtype
              )  # create new read var op
      update_ops = []
      for proxy_var in self._proxy_vars:
          with ops.device(proxy_var.device):
              update_ops.append(proxy_var.assign(updated_value))
      return update_ops
  
file_path: autodist/autodist/kernel/common/proxy_variable.py
imports: from collections import defaultdict
  from tensorflow.core.framework.attr_value_pb2 import AttrValue
  from tensorflow.python import ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.util.compat import as_bytes
  from autodist.const import COLOCATION_PREFIX
  from autodist.kernel.common.utils import get_consumers, update_consumers, replica_prefix, AUTODIST_REPLICA_PREFIX, parse_optimizer_scope
  from autodist.kernel.common.variable_utils import get_read_var_ops, get_read_var_tensor, gen_read_var_op
  from autodist.utils import logging
label_desc: Use image node_id 3 for calling the ProxyVariable obj's underlying member method code with example usage: obj.get_all_update_ops(grad_apply_finished, worker_device) and returns: update_ops