Tensorflow Lite: Du Deep Learning pour les mobiles ?

Ten­sor­flow est le frame­work de Deep Learn­ing de Google, pour en savoir plus, il  y a cette page con­sacrée. La ver­sion “Lite” adap­tée au fonc­tion­nement en envi­ron­nements mobiles et embar­qués (android/iOS), donc moins puis­sants et dis­posant de moins d’espace de stock­age, est disponible en pré-ver­sion.

Ten­sor­Flow Lite prend égale­ment en charge l’accélération matérielle avec l’API Android Neur­al Net­works (NNAPI), apparue avec la pré-ver­sion d’Android 8.1. L’API Neur­al Net­works est ajoutée via le NDK. A not­er que cette dernière sera aus­si exploitée par Caffe2.

En cher­chant de l’info sur cette “accéléra­tion matérielle” je suis tombé sur quelques infos intéres­santes. Par exem­ple, les smart­phones Pix­el 2 et Pix­el 2 XL de Google pos­sè­dent un cir­cuit bap­tisé Pix­el Visu­al Core jusqu’ici inutil­isé, une puce 8 cœurs (3 000 mil­liards d’opérations à la sec­onde) spé­cial­isée dans le traite­ment de l’image. Elle prend en charge la fonc­tion­nal­ité HDR+ dont le principe est de rehauss­er (ou dimin­uer) la lumi­nosité des par­ties sous exposées (ou sur­ex­posées) d’une scène afin d’obtenir plus de détails vis­i­bles. NNAPI per­me­t­trait d’accéder à ce cir­cuit par exem­ple, car même s’il est spé­cial­isé, on peut tir­er par­tie de ses 8 cœurs pour d’autres opéra­tions prob­a­ble­ment. On se doute que ARCore doit égale­ment béné­fici­er de ce cir­cuit.

De même, la nou­velle API shared mem­o­ry per­met d’allouer de la mémoire partagée pour accélér­er l’accès à des don­nées com­munes à des appli­ca­tions, qui peu­vent con­trôler l’accès à cette mémoire partagée, notam­ment ver­rouiller l’accès en écri­t­ure aux don­nées qu’elles parta­gent.

A not­er que dans sa forme actuelle, Ten­sor­Flow Lite prend en charge l’inférence et non l’entraînement : cela sig­ni­fie qu’il tra­vaille à par­tir d’un mod­èle pré-entrainé. Les mod­èles actuelle­ment sup­port­és sont Incep­tion V3 (pour détecter les objets dom­i­nants présents dans une image), MobileNets (vision, mais + légers) et On Device Smart Reply (analyse de répons­es).

Coté développe­ment, le mod­èle est con­ver­ti grâce à Ten­sor­flow Lite Con­verter en un fichi­er Ten­sor­Flow Lite Mod­el File (.tflite). Ensuite, sous Android, on dipose d’une API Java, C++, d’un inter­pré­teur et du sup­port NNAPI. Sous iOS cepen­dant, il n’y a que l’API C++ et l’interpréteur.

Et vous, utilisez vous Ten­sor­flow de votre coté ? Qu’attendez-vous de la ver­sion lite ? Avez-vous déjà un retour d’expérience sur le sujet ?

Un commentaire sur “Tensorflow Lite: Du Deep Learning pour les mobiles ?

Ajouter un commentaire

Laisser un commentaire

Fièrement propulsé par WordPress | Thème : Baskerville 2 par Anders Noren.

Retour en haut ↑

%d blogueurs aiment cette page :