code: def test_relu(self, X, engine, gc, dc):
      X += 0.02 * np.sign(X)
      X[X == 0.0] += 0.02
      output = Functional.Relu(X, device_option=gc)
      Y_l = output[0]
      Y_d = output["output_0"]
  
      with workspace.WorkspaceGuard("tmp_workspace"):
          op = core.CreateOperator("Relu", ["X"], ["Y"], engine=engine)
          workspace.FeedBlob("X", X)
          workspace.RunOperatorOnce(op)
          Y_ref = workspace.FetchBlob("Y")
  
      np.testing.assert_array_equal(
          Y_l, Y_ref, err_msg="Functional Relu result mismatch"
      )
  
      np.testing.assert_array_equal(
          Y_d, Y_ref, err_msg="Functional Relu result mismatch"
      )
  
file_path: pytorch/caffe2/python/functional_test.py
imports: import unittest
  from caffe2.python import core
  from hypothesis import given
  import hypothesis.strategies
  import caffe2.python.hypothesis_test_util
  from caffe2.python import workspace
  from caffe2.python.functional import Functional
  import numpy
label_desc: Use image node_id 1 for calling the TestFunctional obj's underlying member method code with example usage: obj.test_relu(X, engine, gc, dc) without return types