creek

The AI Image Editor of 2030

assets/dinov2_convert.py (946B)


 1import onnx
 2from onnx.external_data_helper import convert_model_to_external_data
 3
 4# --------------------------------------------------------------
 5# CONFIG
 6# --------------------------------------------------------------
 7in_model = "assets/dinov2.onnx"  # your original IR10 model
 8out_model = "dinov2.onnx"  # final IR9 model
 9data_file = "dinov2.onnx.data"
10tensor_threshold = 1024  # everything >1KB will go into the .data file
11# --------------------------------------------------------------
12
13# 1) Load original model
14model = onnx.load(in_model)
15
16# 2) Downgrade IR version
17model.ir_version = 9
18
19# 3) Convert ALL tensors into ONE external .data file
20convert_model_to_external_data(
21    model,
22    all_tensors_to_one_file=True,
23    location=data_file,
24    size_threshold=tensor_threshold,
25    convert_attribute=False,
26)
27
28# 4) Save model
29onnx.save(model, out_model)
30
31print("DONE — Generated:")
32print(f"• {out_model}")
33print(f"• {data_file}")