Why does relay.quantize.quantize return a relay.Function instead of a relay.Module?

In the relay.quantize.quantize code

def quantize(graph, params=None, dataset=None):
    if params:
        graph = _bind_params(graph, params)

    mod = _module.Module.from_expr(graph)
    # Perform "SimplifyInference", "FoldScaleAxis", "FoldConstant", and
    # "CanonicalizeOps" optimization before quantization.
    ...

    return mod[mod.entry_func.name_hint]

Since the relay.Module returned in relay.frontend, the quantization operation is also in relay.Module, Why does relay.quantize.quantize return a relay.Function instead of a relay.Module?

It should return relay.Module. We are working on migration to mod->mod api.

1 Like