Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Theano: Beschreibung und Verwendung dieser Python-Bibliothek

-
3
 Minuten Lesezeit
-
theano

Theano ist eine Bibliothek, die es ermöglicht, Probleme mit großen Datenmengen mithilfe von mehrdimensionalen Tabellen zu lösen. Hier erfährst du mehr darüber, wie du deine Suche mit Theano beschleunigen kannst: Etymologie, Entstehung, Besonderheiten und Aufnahme in die Python-Pipeline ...

Theano ist vor allem der Name einer griechischen Mathematikerin und Philosophin aus dem 6. Jahrhundert v. Chr., die als die vorbildliche Frau von Pythagoras bezeichnet wird.

Was ist Theano ?

Um auf unser eigentliches Thema zurückzukommen: Theano ist eine Python-Bibliothek, die 2007 von Yoshua Bengio an der Universität von Montreal entwickelt wurde und auf Python basiert und in Python geschrieben ist. Sie verwendet mehrdimensionale Arrays, um mathematische Ausdrücke zu definieren, zu optimieren und zu bewerten, insbesondere im Zusammenhang mit Deep Learning oder Problemen, die große Datenmengen beinhalten. Sie wird insbesondere in der akademischen Forschung und Entwicklung sehr gut akzeptiert.

Wie codiert man mit Theano?

  • Du installierst es mit pip install Theano aus dem Terminal.
  • Die Unterbibliothek „tensor“ von Theano wird oft mit T abgekürzt.
  • Eine Theano-Funktion und -Variablen werden wie folgt deklariert:

Wie du sehen kannst, benötigt die Funktion Theano ein Array von Variablen [a,b] und ein variables Ergebnis c, das als Operation (hier Addition) von a und b vordefiniert ist. Das Ergebnis, das angezeigt wird, wenn die Funktion aufgerufen wird, ist in diesem Fall 10.

Der Graph der Funktion unten wird von einem Theano-Befehl erzeugt, der im nächsten Abschnitt besprochen wird. Wir sehen, dass die ersten beiden Blöcke (grün) den beiden Variablen a und b entsprechen, die von tensor.dscalar() stammen, die vom Typ float sind.

Der mittlere Block (rot) entspricht der verwendeten Theano-Funktion, die durch c definiert ist (add für addieren). Der blaue Block entspricht dem Ergebnis.

schema 1 theano

Was sind ihre Besonderheiten?

Aus Sicht der Funktionalität und Geschwindigkeit ist diese Bibliothek:

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg im Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

STARTE DEINE KARRIERE
IM BEREICH DATA SCIENCE

Du bist an einem Quereinstieg im Bereich Big Data interessiert, weißt aber nicht, wo Du anfangen sollst? 

Dann solltest Du einen Blick auf unsere Weiterbildungen im Bereich Data Science werfen.

TAUCHE EIN IN DEIN ERSTES DATA ABENTEUER

Du bist am Bereich Data Science interessiert und willst die ersten Schritte in Python und Co. kennenlernen? Dann melde dich für unsere kostenlosen Data Kurse an – exklusiv diesen Sommer!
  • Erstellt einen Ausdruck, der von einer Theano-Funktion ausgewertet wird.
  • Ermöglicht die einfache Berechnung von Differentialen mehrerer Variablen, Matrixberechnungen und Gradientenberechnungen.
  • Erstellt automatisch symbolische Graphen, die mithilfe einer Bibliothek und der Druckfunktion pydotprint angezeigt werden können.
  • Diese Graphen können sehr komplex sein und Theano wendet viele fortgeschrittene Optimierungstechniken (Algebra und Kompilierung) an.
  • Diese Techniken berücksichtigen den globalen Graphen, um einen sehr effizienten Code zu erzeugen, insbesondere bei wiederholten Berechnungen, und nicht nur lokale Optimierungstechniken, z. B. beim Trainieren von neuronalen Netzen.
  • Sie kann z. B. die verschiedenen Berechnungen neu anordnen (Reihenfolge, Wiederholungen), damit die Berechnung weniger Zeit in Anspruch nimmt (ähnlich wie verschiedene Algorithmen zum Suchen eines Wortes in einem Text, die mehr oder weniger schnell sind – O(n), O(n² )).
  • Die Theano-Funktion fungiert als Primer, um den in C kompilierten Code in die Laufzeitumgebung (die Software, die für die Ausführung des Programms verantwortlich ist) zu injizieren.

Unten siehst du ein Beispiel für einen Graphen, der komplexer ist als der vorherige. Hier gibt es ein zusätzliches Element, die weißen Blöcke, die vordefinierte Funktionen aus anderen Bibliotheken sind, z.B. :

Berechnungen sind auf einem Grafikprozessor bis zu 140-mal schneller als C auf einer CPU (die nur das Float32-Format unterstützt) oder reinem Python. Die dynamische Codegenerierung in C ermöglicht eine schnellere Auswertung von Ausdrücken.

Kleine Pluspunkte:

  • Sie ist schnell und stabil angesichts von Berechnungen wie log(1+exp(x)) für große x-Werte.
  • Sie enthält Selbsttest-Tools, um Fehler und Probleme zu diagnostizieren.
  • Sie kann an Faltungsnetzwerke und rekursive Netzwerke angepasst werden.

Wie ist Theano mit anderen Bibliotheken verbunden?

  • Theano integriert numpy.arrays in seinen internen Betrieb.
  • Es ist eine Bibliothek, die manchmal in der internen Arbeitsweise von Keras mit
  • Tensorflow (für ML-Modelle) aufgerufen wird. Es ist eine Bibliothek, die als Backend in Keras fungieren kann, um alle internen Operationen durchzuführen. Es gibt auch die Tensorflow-Bibliothek, die im Wesentlichen das Gleiche macht.

 

💡Auch interessant:

Imageio Python Bibliothek
PySpark Python Bibliothek
Folium Open Source Bibliothek von Python
Top 10 Python Bibliotheken

Fazit

Theano ist also ein Tool zur Optimierung und Beschleunigung deiner Deep Learning- oder Machine Learning-Berechnungen auf der Grundlage eines Graphensystems, das alle Schritte der Berechnung umfasst. Trotz ihres Alters ist sie nicht veraltet und verdient einen Platz in der Hitliste der Optimierungsbibliotheken.

Wenn du dich in diesen Expertendisziplinen weiterbilden möchtest, hat DataScientest einen Lehrplan für Deep Learning entwickelt, den du unter dem vorstehenden Link findest.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!