def test_fake_quantize_rsqrt(): x = relay.var("x", shape=[1, 3, 224, 224], dtype="int8") zero = relay.const(0) x = relay.qnn.op.dequantize(x, relay.const(2.0), zero) op = relay.rsqrt(x) op = relay.qnn.op.quantize(op, relay.const(2.0), zero) x_np = np.random.randint(-128, 127, size=[1, 3, 224, 224], dtype="int8") compare_fq_to_int(op, [x_np], True)
def test_fake_quantize_rsqrt(): x = relay.var("x", shape=[1, 3, 3, 3], dtype="int8") mid_point = relay.const(-128) x = relay.qnn.op.dequantize(x, relay.const(0.125), mid_point) op = relay.rsqrt(x) op = relay.qnn.op.quantize(op, relay.const(0.125), mid_point) x_np = np.random.randint(-128, 127, size=[1, 3, 3, 3], dtype="int8") compare_fq_to_int(op, [x_np], True)
def test_rsqrt(self): data = relay.var("data", relay.TensorType((-1, 4, 2, 2), "float32")) net = relay.rsqrt(data) net = relay.Function(relay.analysis.free_vars(net), net) mod, params = testing.create_workload(net) xgraph = xf_relay.from_relay(mod, params) layers = xgraph.get_layers() assert layers[0].type[0] == 'Input' assert layers[1].type[0] == 'rSqrt' assert 'relay_id' in layers[1].attrs
def rsqrt(expr): return relay.rsqrt(relay.add(relay.abs(expr), relay.const(1.0)))