U
    qh                     @  sR   d Z ddlmZ ddlZddlm  mZ ddlmZ dddddd	Z	ej
Z
dS )
zonnx version converter

This enables users to convert their models between different opsets within the
default domain ("" or "ai.onnx").
    )annotationsN)
ModelProtor   int)modeltarget_versionreturnc                 C  sV   t | tstdt|  t |ts8tdt| |  }t||}t	|S )zConvert opset version of the ModelProto.

    Arguments:
        model: Model.
        target_version: Target opset version.

    Returns:
        Converted model.

    Raises:
        RuntimeError when some necessary conversion is not supported.
    zCVersionConverter only accepts ModelProto as model, incorrect type: zEVersionConverter only accepts int as target_version, incorrect type: )

isinstancer   	TypeErrortyper   ZSerializeToStringCconvert_versiononnxZload_from_string)r   r   Z	model_strZconverted_model_str r   :/tmp/pip-unpacked-wheel-xnis5xre/onnx/version_converter.pyr      s    

r   )__doc__
__future__r   r   Z)onnx.onnx_cpp2py_export.version_converterZonnx_cpp2py_exportZversion_converterr   r   r   ZConvertErrorr   r   r   r   <module>   s   