Module furiosa.quantizer.frontend.onnx.utils.inference_shape

Expand source code
import onnx

import onnxsim
from furiosa_sdk_quantizer.frontend.onnx.transformer import utils
from furiosa_sdk_quantizer.frontend.onnx.utils.check_model import check_model


class InferenceShape:
    """
        Replace former InferenceShape with ONNX_Simplifier
        https://github.com/daquexian/onnx-simplifier
    """

    def __init__(self, model: onnx.ModelProto) -> onnx.ModelProto:
        self.model = utils.rebuild_model(model, model.graph.node)

    def inference_shape(self) -> onnx.ModelProto:
        self.model, check = onnxsim.simplify(self.model, skipped_optimizers=['eliminate_duplicate_initializer'])
        assert check
        check_model(self.model)

        return utils.name_nodes(self.model)

Classes

class InferenceShape (model: onnx.onnx_ml_pb2.ModelProto)

Replace former InferenceShape with ONNX_Simplifier https://github.com/daquexian/onnx-simplifier

Expand source code
class InferenceShape:
    """
        Replace former InferenceShape with ONNX_Simplifier
        https://github.com/daquexian/onnx-simplifier
    """

    def __init__(self, model: onnx.ModelProto) -> onnx.ModelProto:
        self.model = utils.rebuild_model(model, model.graph.node)

    def inference_shape(self) -> onnx.ModelProto:
        self.model, check = onnxsim.simplify(self.model, skipped_optimizers=['eliminate_duplicate_initializer'])
        assert check
        check_model(self.model)

        return utils.name_nodes(self.model)

Methods

def inference_shape(self) ‑> onnx.onnx_ml_pb2.ModelProto
Expand source code
def inference_shape(self) -> onnx.ModelProto:
    self.model, check = onnxsim.simplify(self.model, skipped_optimizers=['eliminate_duplicate_initializer'])
    assert check
    check_model(self.model)

    return utils.name_nodes(self.model)