J'ai vu aujourd'hui un article sur le Big Data qui analysait les avantages de Python en tant que langage d'apprentissage automatique. Il a été mentionné qu'en 2010, lorsque la bibliothèque Theano de Python était exécutée sur le CPU, sa vitesse était 1,8 fois supérieure à celle de Numpy. le GPU Lorsqu'il fonctionne sur Numpy, il est 11 fois plus rapide que Numpy.
J'ai donc commencé à rechercher les concepts liés au GPU et à Theano.
Ce qui suit est un texte d'introduction au GPU provenant du site officiel de Nvidia, et la vidéo est particulièrement intuitive.
L'informatique accélérée par GPU utilise une unité de traitement graphique (GPU) et un CPU pour accélérer les applications scientifiques, d'ingénierie et d'entreprise. NVIDIA® a été un pionnier en la matière en 2007, et les GPU permettent désormais des centres de données économes en énergie dans les laboratoires gouvernementaux, les universités, les entreprises et les petites et moyennes entreprises du monde entier.
Comment les applications exploitent les GPU pour l'accélération
Un moyen simple de comprendre la différence entre les processeurs et les GPU consiste à comparer la manière dont ils gèrent les tâches. Le processeur se compose de plusieurs cœurs optimisés pour le traitement série séquentiel. Les GPU, quant à eux, sont constitués de milliers de cœurs plus petits et plus efficaces, conçus pour gérer plusieurs tâches simultanément.
Le GPU possède des milliers de cœurs et peut gérer efficacement des tâches parallèles.
Theano est l'une des bibliothèques Python d'apprentissage profond les plus répandues et prend également en charge le GPU. Cependant, il est difficile de démarrer avec. Théano.
Apprentissage profond basé sur Python
Parmi les bibliothèques Python qui implémentent des algorithmes de réseaux neuronaux, la plus populaire est sans aucun doute Theano. Cependant, Theano n'est pas strictement une bibliothèque de réseaux neuronaux, mais une bibliothèque Python capable d'implémenter une variété d'abstractions mathématiques. Pour cette raison, Theano a une courbe d'apprentissage abrupte, je vais donc présenter deux bibliothèques de réseaux neuronaux construites sur Theano qui ont une courbe d'apprentissage plus plate.
La première bibliothèque est Lasagne. Cette bibliothèque fournit une belle abstraction qui vous permet de construire chaque couche d'un réseau neuronal, puis de l'empiler les unes sur les autres pour créer un modèle complet. Bien que ce soit mieux que Theano, construire chaque couche puis l'ajouter les unes sur les autres serait un peu fastidieux, nous utiliserons donc la bibliothèque Nolearn, qui fournit une API de style Scikit-Learn au-dessus de la bibliothèque Lasagne pour construire facilement. un réseau neuronal multicouche.
Apprentissage automatique
apprentissage supervisé
L'apprentissage supervisé signifie que les données incluent les informations que nous voulons prédire Attributs, supervisés les problèmes d'apprentissage appartiennent aux deux catégories suivantes :
classification
Classification (classification) : les échantillons appartiennent à deux catégories ou plus, et nous espérons apprendre des données avec des catégories étiquetées, pour prédire la classification de données non étiquetées. Par exemple, la reconnaissance de chiffres manuscrits est un problème de classification dont le but est de mapper chaque vecteur d’entrée à un nombre fini de catégories. Pour y penser sous un autre angle, la classification est une forme discrète (par opposition à continue) d'apprentissage supervisé. Pour n échantillons, un côté a un nombre limité de catégories correspondant, et l'autre côté essaie d'étiqueter l'échantillon et de l'attribuer à. la bonne catégorie.
régression
Régression : Si le résultat souhaité est une ou plusieurs variables continues, alors la tâche est appelée régression, comme par exemple prédire le saumon en fonction de l'âge et de la longueur du poids.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!