code: def test_norm(self):
      x = tensor.dtensor3()
      a = np.random.rand(3, 2, 4).astype(theano.config.floatX)
      mode = theano.compile.Mode(optimizer="fast_compile", linker="py")
  
      for axis in [
          0,
          1,
          2,
          [0],
          [1],
          [2],
          None,
          [0, 1],
          [1, 2],
          [0, 1, 2],
          [-1],
          [-2],
          [-3],
          [-1, -2],
          [-1, -2, -3],
          [0, -2, 2],
      ]:
          f = function(
              [x],
              [
                  x.norm(L=1, axis=axis, keepdims=True),
                  self.makeKeepDims_local(
                      x, x.norm(L=1, axis=axis, keepdims=False), axis
                  ),
              ],
              mode=mode,
          )
  
          ans1, ans2 = f(a)
          assert np.allclose(ans1, ans2)
          assert ans1.shape == ans2.shape
  
          g = function(
              [x],
              [
                  x.norm(L=2, axis=axis, keepdims=True),
                  self.makeKeepDims_local(
                      x, x.norm(L=2, axis=axis, keepdims=False), axis
                  ),
              ],
              mode=mode,
          )
  
          ans1, ans2 = g(a)
          assert np.allclose(ans1, ans2)
          assert ans1.shape == ans2.shape
  
file_path: Theano/theano/tensor/tests/test_keepdims.py
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  from six import integer_types
  import theano
  from theano import tensor, function
  from theano.tests.unittest_tools import attr
label_desc: Use image node_id 3 for calling the TestKeepDims obj's underlying member method code with example usage: obj.test_norm() without return types