logoalt Hacker News

exabrialyesterday at 11:23 PM1 replyview on HN

https://github.com/exabrial/petrify

Petrify is a machine learning model compiler for the the JVM. It reads your model from an ONNX or other model format, walks the Trees or Linear models, and encodes the model in equivalent JVM bytecode as a stateless class you can invoke.

This differs from every other ONNX Runtime that I know of, which are essentially interpreters. The ONNX Runtimes are also huge (90+mb!?!), JNI, and drag gargantuan dependencies!

This just compiles your models to native bytecode. Much simpler and you end up with 0 dependencies! (you need one interface technically, but I digress).


Replies

dvaunyesterday at 11:43 PM

This is interesting. I’ve been working with ONNX models and compiling custom WASM runtime builds based on the model operators, cutting down on edge deployments.

Do you have any benchmarks?

show 1 reply