code: def get_on_read_restore_ops(var, tensor, aggregation):
      """Return restore ops for ON_READ variables."""
      # To preserve the sum across save and restore, we have to divide the
      # total across all devices when restoring a variable that was summed
      # when saving.
      if aggregation == vs.VariableAggregation.SUM:
          strategy = var.distribute_strategy
          tensor = math_ops.cast(
              tensor / strategy.num_replicas_in_sync, var.dtype
          )
      return control_flow_ops.group(
          tuple(
              assign_on_device(v.device, v, tensor) for v in var.values
          )
      )
  
imports: from tensorflow.python.distribute import distribute_lib
  from tensorflow.python.distribute import reduce_util
  from tensorflow.python.eager import context
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_util
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.saved_model import save_context
  from tensorflow.python.saved_model import save_options
  from tensorflow.python.training.saving import saveable_object
label_desc: Use image node_id 5 for calling a global function with example usage: get_on_read_restore_ops(var, tensor, aggregation) and returns: control_flow_ops