AsianPlayer's picture
download
raw
2.36 kB
"""cwm3/baselines_dms/omz_convert.py — reproduce the ONE locally converted OMZ IR: open-closed-eye-0001 (an OMZ *public* model
distributed as ONNX + PyTorch source, so no pre-built FP16 IR exists on storage.openvinotoolkit.org; checked 2026-09-14 over the
full filetree.json — 0 FP16 directories for it in any release, while the six Intel models are pre-built under 2023.0/models_bin/1).
Conversion follows models/public/open-closed-eye-0001/model.yml (OMZ master 6697dead54ed1cdd664b0313189c2cb52ee6335e):
--mean_values=[127,127,127] --scale_values=[255,255,255] --output=19 (19 is already the ONNX graph output)
implemented with openvino.preprocess.PrePostProcessor (layout NCHW) + ov.save_model(compress_to_fp16=True).
Deterministic: two saves give byte-identical xml/bin (checked). Input `input.1` [1,3,32,32] float32 in 0..255; output `19` [1,2,1,1]
softmax over (open, closed) — class order per OMZ README: 0 = open, 1 = closed.
python -m baselines_dms.omz_convert # rewrites weights/omz_open_closed_eye_0001/open-closed-eye-0001.{xml,bin}
"""
from __future__ import annotations
import hashlib
import sys
from pathlib import Path
HERE = Path(__file__).resolve().parent
SRC = HERE / "weights" / "omz_open_closed_eye_0001" / "src" / "open_closed_eye.onnx"
OUT = HERE / "weights" / "omz_open_closed_eye_0001" / "open-closed-eye-0001.xml"
ONNX_SHA384 = "2615bce53b55620c629db21b043057600ccc53466f053c0a8277c43577c2db21e48f330cf9b15213016d17cddb8cba27" # model.yml checksum
def convert(src: Path = SRC, out: Path = OUT) -> tuple[Path, Path]:
import openvino as ov
from openvino.preprocess import PrePostProcessor
assert hashlib.sha384(src.read_bytes()).hexdigest() == ONNX_SHA384, "open_closed_eye.onnx does not match the OMZ model.yml checksum"
core = ov.Core()
m = core.read_model(str(src))
ppp = PrePostProcessor(m)
ppp.input().model().set_layout(ov.Layout("NCHW"))
ppp.input().preprocess().mean([127.0, 127.0, 127.0]).scale([255.0, 255.0, 255.0])
m = ppp.build()
out.parent.mkdir(parents=True, exist_ok=True)
ov.save_model(m, str(out), compress_to_fp16=True)
return out, out.with_suffix(".bin")
if __name__ == "__main__":
xml, binf = convert()
for p in (xml, binf):
print(p.name, p.stat().st_size, hashlib.sha256(p.read_bytes()).hexdigest())
sys.exit(0)

Xet Storage Details

Size:
2.36 kB
·
Xet hash:
220e97d2f4804f5cf602730086ee6f4e00ff19c1d98e835ebc859522958373c2

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.