Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

DNNLibrary:ONNX => Android NN APIs


Google君に聞くお仕事していたら、見つけました。


Android Neural Networks API のラッパーって感じなライブラリ。

Androidのデモアプリのソースコードも公開されています。

引用
ModelBuilder modelBuilder = new ModelBuilder();
Model model = modelBuilder.readFile(getAssets(), "mobilenetv2.daq")
                        .setOutput("mobilenetv20_output_pred_fwd"); // The output name is from the onnx model
                        .compile(ModelBuilder.PREFERENCE_FAST_SINGLE_ANSWER);

float[] result = model.predict(inputData);

感じで、5行で書けるというのがポイントんようです。

ONNXモデルを事前に、onnx2dag というツールで変換したモデルを利用するようです。

TensorFlow Liteとの比較が載っていますが、ONNXモデルをサポートしていて、簡単に書ける。
ただし、量子化はサポートしていないと。

量子化は、ONNXモデルがそのようになっていればいいと思うのだが、どうだろうか?