code: def testPrintComplexTensorStruct(self):
      tensor = math_ops.range(10)
      small_tensor = constant_op.constant([0.3, 12.4, -16.1])
      big_tensor = math_ops.mul(tensor, 10)
      with self.captureWritesToStream(sys.stderr) as printed:
          print_op = logging_ops.print_v2(
              "first:",
              tensor,
              "middle:",
              {"small": small_tensor, "Big": big_tensor},
              10,
              [tensor * 2, tensor],
          )
          self.evaluate(print_op)
      # Note that the keys in the dict will always be sorted,
      # so 'Big' comes before 'small'
      expected = (
          "first: [0 1 2 ... 7 8 9] "
          "middle: {'Big': [0 10 20 ... 70 80 90], "
          "'small': [0.3 12.4 -16.1]} "
          "10 [[0 2 4 ... 14 16 18], [0 1 2 ... 7 8 9]]"
      )
      self.assertIn((expected + "\n"), printed.contents())
  
imports: import os
  import string
  import sys
  import tempfile
  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 dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import control_flow_assert
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import logging_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import string_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.platform import test
label_desc: Use image node_id 13 for calling the PrintV2Test obj's underlying member method code with example usage: obj.testPrintComplexTensorStruct() without return types