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)
예제 #3
0
    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
예제 #4
0
def rsqrt(expr):
    return relay.rsqrt(relay.add(relay.abs(expr), relay.const(1.0)))