IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Core ML : un framework d'Apple pour intégrer plus facilement des modèles de machine learning dans vos applications
IOS, watchOS, macOS et tvOS

Le , par Michael Guilloux

672PARTAGES

8  0 
Pendant qu’Apple dévoilait ses nouveautés lors de sa conférence développeur WWDC 2017, la firme de Cupertino a annoncé dans la foulée un nouveau framework de machine learning (ML) baptisé Core ML. Core ML permet aux développeurs d'intégrer de manière simple et facile des modèles de machine learning entrainés dans leurs applications. Il cible plus précisément les applications fonctionnant sur des périphériques Apple (y compris iOS, watchOS, macOS et tvOS).


Core ML est le fondement de trois frameworks basiques spécifiques : Vision, Foundation et GameplayKit. Avec Vision, vous pouvez facilement créer des fonctionnalités machine learning de vision par ordinateur dans votre application. Vision supporte le suivi du visage, la détection des visages, les landmarks (points de repère), la détection de texte, la détection de rectangles, la détection de codes-barres, le suivi des objets entre autres. Il s’agit d’un framework pour l’analyse d’image.

En ce qui concerne Foundation, il s’agit d’un framework pour le traitement du langage naturel. Les API de traitement du langage naturel dans Foundation utilisent le machine learning pour comprendre profondément le texte à l'aide de fonctionnalités telles que l'identification de la langue, la tokenisation (segmentation de texte), la lemmatisation (analyse lexicale du contenu d'un texte en regroupant les mots d'une même famille), la reconnaissance d'entité nommée et de la parole.

GameplayKit est un framework orienté objet qui fournit des outils et des technologies fondamentales pour le développement de jeux. GameplayKit comprend des outils pour concevoir des jeux avec une architecture fonctionnelle et réutilisable, ainsi que des technologies pour créer et améliorer des fonctionnalités de gameplay telles que le mouvement des personnages.

Core ML est lui-même construit sur des technologies bas niveau comme Accelerate et BNNS (Basic neural network subroutines). Accelerate est un framework qui contient des API C pour les mathématiques vectorielles et matricielles, le traitement du signal numérique, la gestion des grands nombres et le traitement de l'image. Et BNNS, une collection de fonctions que vous pouvez utiliser pour implémenter et exécuter des réseaux de neurones. Core ML est également construit sur Metal Performance Shaders, qui apporte des optimisations graphiques et des performances de calculs. Parce qu'il est construit sur ces technologies bas niveau, Core ML profite parfaitement du CPU et du GPU pour offrir des performances et une efficacité maximales, d’après la documentation du framework de machine learning.


Core ML introduit un format de fichier public (.mlmodel) pour un large ensemble de méthodes de machine learning, y compris des réseaux neuronaux profonds (à la fois convolutif et récurrent) et les modèles linéaires généralisés, entre autres. Il faut noter que le framework permet aux développeurs de déployer et de travailler avec des modèles de machine learning déjà entrainés dans des applications qui tournent sur les plateformes d'Apple. Il est donc destiné à faire des prédictions à partir de ces modèles et non à entrainer les modèles eux-mêmes. Cela signifie que les développeurs doivent avoir des modèles déjà préparés. À propos, Apple propose avec Core ML quelques exemples de modèles de machine learning prêts à l’emploi. Les modèles au format .mlmodel peuvent être directement intégrés dans les applications via XCode. Les développeurs peuvent également créer leurs propres modèles, mais ils doivent être transformés en format Core ML avant de pouvoir être déployés.

Apple a donc mis à la disposition des développeurs un outil pour convertir facilement les modèles de machine learning en format Core ML. L’outil baptisé Core ML Tools est un paquet Python pour créer, évaluer et tester des modèles au format .mlmodel. En particulier, il peut être utilisé pour convertir les modèles existants en format .mlmodel à partir d'outils de machine learning populaires, y compris Keras, Caffe, scikit-learn, libsvm et XGBoost ; ou encore faire des prédictions avec un modèle .ml (sur certaines plateformes à des fins de test). Pour le moment, Core ML Tools ne prend pas en charge les dernières versions de certains de ces modèles, mais il est open source (licence BSD), ce qui signifie que cela pourrait ne plus être le cas d’ici peu. Il faut préciser que Core ML est en version bêta et, de ce fait, présente certaines limitations.

Sources : Core ML, Core ML Tools

Et vous ?

Que pensez-vous de Core ML ? Comment le trouvez-vous par rapport aux alternatives que vous connaissez ?
Comptez-vous l’utiliser ?

Une erreur dans cette actualité ? Signalez-nous-la !