Ich habe heute einen Big-Data-Artikel gesehen, in dem die Vorteile von Python als Sprache für maschinelles Lernen analysiert wurden. Es wurde erwähnt, dass die Geschwindigkeit der Python-Theano-Bibliothek im Jahr 2010 1,8-mal so hoch war wie die von Numpy Wenn die GPU auf Numpy läuft, ist sie 11-mal schneller als Numpy.
Also begann ich, die verwandten Konzepte von GPU und Theano nachzuschlagen.
Das Folgende ist eine Texteinführung zur GPU von der offiziellen Website von Nvidia, und das Video ist besonders intuitiv.
GPU-beschleunigtes Computing nutzt einen Grafikprozessor (GPU) und eine CPU, um wissenschaftliche, technische und Unternehmensanwendungen zu beschleunigen. NVIDIA® leistete hier im Jahr 2007 Pionierarbeit und GPUs versorgen heute energieeffiziente Rechenzentren in Regierungslaboren, Universitäten, Unternehmen sowie kleinen und mittleren Unternehmen auf der ganzen Welt.
Wie Anwendungen GPUs zur Beschleunigung nutzen
Eine einfache Möglichkeit, den Unterschied zwischen CPUs und GPUs zu verstehen, besteht darin, zu vergleichen, wie sie Aufgaben bewältigen. Die CPU besteht aus mehreren Kernen, die für die sequentielle serielle Verarbeitung optimiert sind. GPUs hingegen bestehen aus Tausenden kleinerer, effizienterer Kerne, die für die gleichzeitige Bewältigung mehrerer Aufgaben ausgelegt sind.
GPU verfügt über Tausende von Kernen und kann parallele Aufgaben effizient bewältigen
Theano ist eine der gängigen Deep-Learning-Python-Bibliotheken und unterstützt auch GPUs. Der Einstieg in Theano ist jedoch schwierig .
Python-basiertes Deep Learning
Unter den Python-Bibliotheken, die neuronale Netzwerkalgorithmen implementieren, ist Theano zweifellos die beliebteste. Allerdings handelt es sich bei Theano nicht unbedingt um eine neuronale Netzwerkbibliothek, sondern um eine Python-Bibliothek, die eine Vielzahl mathematischer Abstraktionen implementieren kann. Aus diesem Grund hat Theano eine steile Lernkurve, daher werde ich zwei auf Theano basierende neuronale Netzwerkbibliotheken vorstellen, die eine flachere Lernkurve haben.
Die erste Bibliothek ist Lasagne. Diese Bibliothek bietet eine schöne Abstraktion, die es Ihnen ermöglicht, jede Schicht eines neuronalen Netzwerks aufzubauen und sie dann übereinander zu stapeln, um ein vollständiges Modell zu erstellen. Obwohl dies besser ist als Theano, wäre das Erstellen jeder Ebene und das anschließende Anhängen übereinander etwas mühsam. Daher verwenden wir die Nolearn-Bibliothek, die eine API im Scikit-Learn-Stil zusätzlich zur Lasagne-Bibliothek bereitstellt, um das Erstellen zu vereinfachen ein mehrschichtiges neuronales Netzwerk.
Maschinelles Lernen
Überwachtes Lernen
Überwachtes Lernen bedeutet, dass die Daten die Informationen enthalten, die wir über überwachte Attribute vorhersagen möchten Lernprobleme fallen in die folgenden zwei Kategorien:
Klassifizierung
Klassifizierung (Klassifizierung): Proben gehören zu zwei oder mehr Kategorien, und wir hoffen, aus Daten mit gekennzeichneten Kategorien zu lernen, um die Klassifizierung vorherzusagen von unbeschrifteten Daten. Das Erkennen handgeschriebener Ziffern ist beispielsweise ein Klassifizierungsproblem, bei dem das Ziel darin besteht, jeden Eingabevektor einer endlichen Anzahl von Kategorien zuzuordnen. Um es aus einer anderen Perspektive zu betrachten: Die Klassifizierung ist eine diskrete (im Gegensatz zum kontinuierlichen) Form des überwachten Lernens. Für n Stichproben verfügt eine Seite über eine entsprechend begrenzte Anzahl von Kategorien, und die andere Seite versucht, die Stichprobe zu kennzeichnen und ihr zuzuordnen die richtige Kategorie.
Regression
Regression: Wenn die gewünschte Ausgabe eine oder mehrere kontinuierliche Variablen ist, wird die Aufgabe als Regression bezeichnet, z. B. Vorhersage von Lachs als Funktion von Alter und Gewichtslänge.
Das obige ist der detaillierte Inhalt vonPython-GPU, was bedeutet das?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!