Vengineerの戯言

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

GoogleのXNNPack とは?

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった

このツイートでしった Google の XNNPack 

 XNNPACK is a highly optimized library of floating-point neural network inference operators for ARM, WebAssembly, and x86 (SSE2 level) platforms. XNNPACK is not intended for direct use by deep learning practitioners researchers; instead it provides low-level performance primitives for accelerating high-level machine learning frameworks, such as MediaPipe, TensorFlow Lite, and TensorFlow.js.

 とありますね。浮動小数点用のアクセレレータなんですね。

iOSは無いですね。。。

XNNPACK is a based on QNNPACK library. However, unlike QNNPACK, XNNPACK focuses entirely on floating-point operators, and its API is no longer compatible with QNNPACK.

 とありますね。。。

ドキュメント(プレゼンテーション資料と論文)は、

Marat Dukhan "The Indirect Convolution Algorithm". Presented on Efficient Deep Learning for Compute Vision (ECV) 2019 workshop

からのようです。

サンプルモデル としては、mobilenet-v1 と v2 があります。

P.S

ツイートのPete Wardenさん、GoogleでTensorFlow Liteとくにマイコン用のLiteをやっていますが、何でそうなんだろうかな?-とずーと思っていましたが、分かりました。

RasPiのGPUPythonでプログラムがかけるライブラリである PyVideoCore の githubREADME.md にそれがあったんですよ。

Several QPU assemblers are written by pioneers (hermanhermitage, petewarden, elorimer and so on). There is also an implementation of OpenCL for QPU: VC4CL.

 petewarden ですよ。。。

github.com

Pee WardenさんのTwitterのトップページを見ると、

CTO of Jetpac, bought by Google. Apple alumnus,

 

witter.com

Googleに買収された Jetpac の CTO だったんですね。下記の写真の左の人がPete Wardenさんだと思います。

jp.techcrunch.com