code: def test_dnnlowp_sigmoid(self, size, is_empty, gc, dc):
      if is_empty:
          size = 0
  
      X = (np.random.rand(size) * 20 - 10).astype(np.float32)
  
      Output = collections.namedtuple(
          "Output", ["Y", "op_type", "engine"]
      )
      outputs = []
  
      op_engine_list = [
          ("Sigmoid", ""),
          ("Sigmoid", "DNNLOWP"),
          ("Int8Sigmoid", "DNNLOWP"),
      ]
  
      for op_type, engine in op_engine_list:
          net = core.Net("test_net")
  
          if engine == "DNNLOWP":
              quantize = core.CreateOperator(
                  "Quantize",
                  ["X"],
                  ["X_q"],
                  engine=engine,
                  device_option=gc,
                  followed_by="Sigmoid",
              )
              net.Proto().op.extend([quantize])
  
          sigmoid = core.CreateOperator(
              op_type,
              ["X_q" if engine == "DNNLOWP" else "X"],
              ["Y_q" if engine == "DNNLOWP" else "Y"],
              engine=engine,
              device_option=gc,
          )
          net.Proto().op.extend([sigmoid])
  
          if engine == "DNNLOWP":
              dequantize = core.CreateOperator(
                  "Dequantize",
                  ["Y_q"],
                  ["Y"],
                  engine=engine,
                  device_option=gc,
              )
              net.Proto().op.extend([dequantize])
  
          self.ws.create_blob("X").feed(X, device_option=gc)
          self.ws.run(net)
          outputs.append(
              Output(
                  Y=self.ws.blobs["Y"].fetch(),
                  op_type=op_type,
                  engine=engine,
              )
          )
  
      for o in outputs:
          np.testing.assert_allclose(
              o.Y, outputs[0].Y, atol=0.01, rtol=0
          )
  
file_path: pytorch/caffe2/quantization/server/sigmoid_dnnlowp_op_test.py
imports: import collections
  import caffe2.python.hypothesis_test_util
  import hypothesis.strategies
  import numpy
  from caffe2.python import core, dyndep, workspace
  from hypothesis import given
label_desc: Use image node_id 1 for calling the DNNLowPSigmoidOpTest obj's underlying member method code with example usage: obj.test_dnnlowp_sigmoid(size, is_empty, gc, dc) without return types