code: def export_keepdims() -> None:
      shape = [3, 2, 2]
      axes = np.array([2], dtype=np.int64)
      keepdims = 1
  
      node = onnx.helper.make_node(
          "ReduceL2",
          inputs=["data", "axes"],
          outputs=["reduced"],
          keepdims=keepdims,
      )
  
      data = np.reshape(
          np.arange(1, np.prod(shape) + 1, dtype=np.float32), shape
      )
      # print(data)
      # [[[1., 2.], [3., 4.]], [[5., 6.], [7., 8.]], [[9., 10.], [11., 12.]]]
  
      reduced = np.sqrt(
          np.sum(
              a=np.square(data),
              axis=tuple(axes),
              keepdims=keepdims == 1,
          )
      )
      # print(reduced)
      # [[[2.23606798], [5.]]
      # [[7.81024968], [10.63014581]]
      # [[13.45362405], [16.2788206 ]]]
  
      expect(
          node,
          inputs=[data, axes],
          outputs=[reduced],
          name="test_reduce_l2_keep_dims_example",
      )
  
      np.random.seed(0)
      data = np.random.uniform(-10, 10, shape).astype(np.float32)
      reduced = np.sqrt(
          np.sum(
              a=np.square(data),
              axis=tuple(axes),
              keepdims=keepdims == 1,
          )
      )
  
      expect(
          node,
          inputs=[data, axes],
          outputs=[reduced],
          name="test_reduce_l2_keep_dims_random",
      )
  
file_path: onnx/onnx/backend/test/case/node/reducel2.py
imports: import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
label_desc: Use image node_id 2 for calling the ReduceL2 obj's underlying member method code with example usage: obj.export_keepdims() without return types