code: def test_rms_norm(self, M, N, eps, dtype, gc, dc):
      X = (np.random.randn(M, N) * 2.0 + 1.0).astype(dtype)
      gamma = np.random.randn(N).astype(dtype)
      beta = np.random.randn(N).astype(dtype)
  
      op = core.CreateOperator(
          "RMSNorm",
          ["X", "gamma", "beta"],
          ["Y", "rrms"],
          eps=eps,
      )
  
      def rms_norm_ref(X, gamma, beta):
          rrms = 1.0 / np.sqrt(np.mean(np.square(X), axis=1) + eps)
          Y = X * np.expand_dims(rrms, axis=1) * gamma + beta
          return Y, rrms
  
      inputs = [X, gamma, beta]
      self.assertReferenceChecks(gc, op, inputs, rms_norm_ref)
      self.assertDeviceChecks(dc, op, inputs, [0, 1])
      for i in range(len(inputs)):
          self.assertGradientChecks(gc, op, inputs, i, [0])
  
file_path: pytorch/caffe2/python/operator_test/rms_norm_op_test.py
imports: from caffe2.python import core
  from hypothesis import given, settings
  import caffe2.python.hypothesis_test_util
  import hypothesis.strategies
  import numpy
  import unittest
label_desc: Use image node_id 1 for calling the TestRMSNormOp obj's underlying member method code with example usage: obj.test_rms_norm(M, N, eps, dtype, gc, dc) and returns: Y,  rrms