code: def _need_tile_into_chunks(cls, op):
      # if true, try to tile into chunks
      # whose implementation is based on sklearn itself
      x = op.input
      if op.gpu:  # pragma: no cover
          return False
      if x.issparse() and op.return_norm and op.norm in ("l1", "l2"):
          # sklearn cannot handle
          return False
      if x.chunk_shape[op.axis] > 1:
          return False
      return True
  
imports: import numpy
  from ...None import opcodes
  from ...core import ExecutableTuple, recursive_tile
  from ...serialization.serializables import KeyField, StringField, Int32Field, BoolField
  from ...tensor.operands import TensorOperand, TensorOperandMixin
  from ...tensor.core import TensorOrder
  from ...tensor.array_utils import as_same_device, device, sparse, issparse
  from ...None import tensor
  from ..utils import check_array
label_desc: Use image node_id 11 for calling the TensorNormalize obj's underlying member method code with example usage: obj._need_tile_into_chunks(cls, op) and returns: True, False, False, False