Generating a LibProto¶
The examples below show how we can define a library consisting of multiple functions, and export it.
This is preliminary. Proto extensions are required to fully support LibProto.
from onnxscript import export_onnx_lib, script
from onnxscript import opset15 as op
from onnxscript.values import Opset
The domain/version of the library functions defined below
opset = Opset("com.mydomain", 1)
The definitions of the functions:
@script(opset)
def l2norm(X):
return op.ReduceSum(X * X, keepdims=1)
@script(opset)
def square_loss(X, Y):
return l2norm(op.Sub(X, Y))
Export the functions as an ONNX library.
export_onnx_lib([l2norm, square_loss], "mylib.onnxlib")