File: onnx2external.py

package info (click to toggle)
onnxscript 0.2.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 12,384 kB
  • sloc: python: 75,957; sh: 41; makefile: 6
file content (29 lines) | stat: -rw-r--r-- 909 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

import argparse
import os

import onnx
import onnx.external_data_helper


def convert2external(input_file_name: str) -> None:
    dir_name = os.path.dirname(input_file_name)
    base_name, _suffix = os.path.splitext(os.path.basename(input_file_name))
    model = onnx.load(input_file_name)
    os.makedirs(os.path.join(dir_name, base_name), exist_ok=True)
    onnx.external_data_helper.convert_model_to_external_data(
        model, location="external_data.onnx", size_threshold=128
    )
    onnx.save(model, os.path.join(dir_name, base_name, "model.onnx"))


if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Convert ONNX model file to external data format"
    )
    parser.add_argument("input", help="ONNX model file to convert")
    args = parser.parse_args()

    convert2external(args.input)