code: def build_nccl_then_shuffle(
      input_tensors,
      gather_devices,
      nccl_red_op,
      shuffle_red_op,
      un_op=None,
  ):
      """Construct hybrid of NCCL within workers, Shuffle across workers."""
  
      def upper_level_f(x):
          return build_shuffle_all_reduce(
              x, gather_devices, shuffle_red_op, un_op
          )
  
      return _build_nccl_hybrid(
          input_tensors, nccl_red_op, upper_level_f
      )
  
imports: import collections
  import math
  from tensorflow.python.framework import device
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nccl_ops
label_desc: Use image node_id 23 for calling a global function with example usage: build_nccl_then_shuffle(input_tensors, gather_devices, nccl_red_op, shuffle_red_op, un_op) and returns: _build_nccl_hybrid, build_shuffle_all_reduce