Definition

Was ist Theano?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Theano ist eine Library für die Programmiersprache Python, mit der sich mathematische Ausdrücke auf CPUs oder GPUs in hoher Geschwindigkeit berechnen lassen. Die Library kann beispielsweise für die Programmierung neuronaler Netze und das Machine Learning eingesetzt werden.

Theano ist ein Open-Source-Projekt und wurde ursprünglich von der LISA-Gruppe (heute MILA) an der Universität von Montreal in Quebec, Kanada entwickelt. Es handelt sich um eine Library unter BSD-Lizenz für die Programmiersprache Python, die frei verwendbar ist. Die Software ist nach einer griechischen Philosophin und Mathematikerin benannt, die angeblich die Frau des Pythagoras war.

Im Kern ist Theano eine Library und ein Compiler für die Berechnung mathematischer Ausdrücke in Python. Die Library verwandelt die Ausdrücke in effizient ausführbaren Code, der die Programmbibliothek NumPy für die einfache Handhabung von Matrizen, großen mehrdimensionalen Arrays und Vektoren verwendet. Der erzeugte Code kann sehr schnell und transparent von CPUs oder GPUs ausgeführt werden. Die intelligente Codeoptimierung von Theano sorgt dafür, dass die Ressourcen der Hardware maximal nutzbar sind.

Ziel der Entwicklung von Theano ist es, Ausdrücke performant zu berechnen, die für große neuronale Netzwerk-Algorithmen und das Deep Learning oder Machine Learning benötigt werden. Die Entwicklung begann bereits im Jahr 2007. Damit war Theano eine der ersten Libraries dieses Typs überhaupt. Für viele Programmierer ist die Library eine Art Standard für die Entwicklung und Forschung im Bereich des Deep Learnings geworden. Es ist wichtig zu verstehen, dass Theano keine Machine Learning Library ist und Programmierer nicht mit vorgefertigten, trainierbaren neuronalen Netzwerkmodellen versorgt, sondern die Werkzeuge und Berechnungsmethoden zur Verfügung stellt, die für den Aufbau eigener Machine Learning Modelle notwendig sind. Theano bildet die Basis für viele Machine Learning Toolkits wie beispielsweise Blocks, Keras, PyLearn2 oder Lasagne. Die aktuellste Theano Version 1.0.0 wurde Ende 2017 veröffentlicht.

Die wesentlichen Merkmale von Theano

Theano ermöglicht es, mathematische Ausdrücke zu definieren, zu optimieren und zu evaluieren und ist auf multidimensionale Arrays spezialisiert. Der entstehende Code ist wesentlich effizienter als beispielsweise manuell erstellter C-Code. Dadurch eignet sich die Library besonders gut für die Berechnung von mathematischen Ausdrücken und großen, komplexen Datenmengen, wie sie im Deep-Learning-Umfeld Verwendung finden. Die Software kann C-Code für viele mathematische Operationen erzeugen. Typische Merkmale von Theano und der Code-Optimierung sind beispielsweise:

  • transparente Verwendung von GPUs und CPUs und Berechnung mit gleichem Code
  • Vermeidung redundanter Berechnungen
  • arithmetische Vereinfachungen
  • automatische Differenzierungen
  • enge Zusammenarbeit mit NumPy
  • Optimierung von Geschwindigkeit und Stabilität
  • dynamische Generierung von C-Code
  • Selbstdiagnose für das Erkennen von Fehlern und Instabilitäten

Die erweiterten Funktionen von Theano im Vergleich zu Python und NumPy

Die Verwendung der Library Theano erweitert die Funktionen der Programmiersprache Python und der Programmbibliothek NumPy. Zwar stehen viele Basisfunktionen für neuronale Netze und das Deep Learning grundsätzlich auch ohne die Library Theano zur Verfügung, doch erleichtert und optimiert Theano die Entwicklung und Ausführung solcher Anwendungen enorm. Die Verbesserungen und Erweiterungen im Vergleich zu Python und NumPy ohne Theano sind unter anderem folgende:

  • schnelle Ausführung von Code zur Berechnung von mathematischen Ausdrücken auf CPUs oder GPUs
  • automatisches Erstellen symbolischer Graphen
  • automatisches Erkennen instabiler mathematischer Ausdrücke und Verwendung stabilerer Algorithmen

Voraussetzungen für die Nutzung von Theano

Theano steht für verschiedene Betriebssysteme zur Verfügung. Die Library kann beispielsweise auf Systemen mit Mac OS, Ubuntu, Windows oder CentOS installiert werden. Für die unterschiedlichen Betriebssysteme stehen jeweils ausführliche Installationsanleitungen bereit. Theano setzt Umgebungen mit Python 2 oder Python 3 und NumPy voraus. Weitere Bedingungen für die Installation sind SciPy und BLAS. Optional kann die Library mit weiterer Software wie Sphinx, pydot-ng, libgpuarray, pycuda und skcuda oder nose zusammenarbeiten. Für die Berechnung auf NVIDIA GPUs werden die NVIDIA CUDA Treiber und die NVIDIA SDK empfohlen.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Künstliche Intelligenz im Eigenbau

Übersicht KI- und ML-Stacks, Teil 2

Künstliche Intelligenz im Eigenbau

Eine kaum noch überschaubare Vielzahl an KI/ML-Frameworks, -Bibliotheken und -Diensten buhlt um die Gunst innovativer Unternehmen. So wird Big Data zur Goldgrube. lesen

Der leistungsfähigste KI-Prozessor und ein passendes KI-Computing-Framework

Huawei-Chef Eric Xu: „Und heute haben wir geliefert.“

Der leistungsfähigste KI-Prozessor und ein passendes KI-Computing-Framework

Am vergangenen Freitag hat Huawei mit „Ascend 910“ den bisher leistungsfähigsten KI-Prozessor vorgestellt. Es ist bestimmt für das Training von Anwendungen Künstlicher Intelligenz. Außerdem hat der Konzern „Mindspore“ präsentiert, ein Framework, das es insbesondere Wissenschaftler erleichtern soll, KI-Anwendungen zu entwickeln – für alle KI-Hardware. Die Software soll 2020 Open Source werden. lesen

Schenker stellt Systeme für lokales KI-Training vor

AI Station und AI Laptop

Schenker stellt Systeme für lokales KI-Training vor

Mit den neuen AI-Station- und AI-Laptop-Produktlinien bietet Hardware-Hersteller Schenker Systeme an, die auf das lokale Training von KIs spezialisiert sind. Sie basieren auf Ubuntu und bringen eine Vielzahl nötiger KI-Programmbibliotheken gleich mit. lesen

Deep Learning mit Python und Keras

Rezension

Deep Learning mit Python und Keras

Deep Learning ist in aller Munde. Doch wie es wirklich funktioniert, das wissen nur wenige genau. Eine Einführung in das Thema versucht jetzt damit aufzuräumen und gleichzeitig erste Ansätze für eine praktische Umsetzung der Konzepte mit der Keras-Bibliothek zu liefern. lesen

Das Cognitive Toolkit legt den Fokus auf Sprache

Spracherkennung mit neuronalen Netzen

Das Cognitive Toolkit legt den Fokus auf Sprache

Das Microsoft Cognitive Toolkit, vormals als Computational Network Toolkit (CNTK) bekannt, ist ein Deep Learning Framework für das Erstellen, Trainieren und Evaluieren von neuronalen Netzen. Im Vergleich zu Googles TensorFlow ist die Open-Source-Lösung von Microsoft eher auf Spracherkennung ausgelegt. Doch letztlich ähneln sich viele Algorithmen oder sind gar identisch. lesen

Die technischen Lücken in der Künstlichen Intelligenz überwinden

Kommentar von Joe Hellerstein, Trifacta

Die technischen Lücken in der Künstlichen Intelligenz überwinden

Über Künstliche Intelligenz (KI) wird in den Medien viel geschrieben. Nun könnte man meinen, dass KI einem „einfach so in den Schoß fällt“. Es erscheint so als ob Maschinelles Lernen (ML) einen Weg eingeschlagen habe, der nicht mehr aufzuhalten und im Begriff sei, Industrie und Handel durch die bloße technologische Dynamik zu revolutionieren. Doch so einfach ist es für Unternehmen, die auf KI-Methoden setzen wollen, sicher nicht. lesen

Teradata positioniert sich als Analytics-Integrator

Fokus auf Artificial Intelligence

Teradata positioniert sich als Analytics-Integrator

Nach dem Experiment mit Marketing-Tools aus der Cloud und der erfolgreichen Integration des Beratungsunternehmens „Think Big Analytics“ sucht Teradata nun seine Rolle als Architekt und Baustofflieferant für Analytics, Machine Learning und Neuronale Netze. lesen

So spürt Deep Learning Datenmuster auf

Big Data und Deep Learning

So spürt Deep Learning Datenmuster auf

Die Zunahme an unstrukturierten Daten wie etwa Bildern, Blogs und Sprachbotschaften macht es ratsam, diese Massendaten automatisch erkennen zu lassen. Deep Learning, ein Unterbereich des Machine Learning, hilft bei der Erkennung dieser Daten und findet Muster in natürlicher Sprache, in Bildern und vielem mehr. lesen

IBM will Leader im Spark-Umfeld werden

Big Blue und Big Data

IBM will Leader im Spark-Umfeld werden

IBM entfaltet eine Reihe von Initiativen im Hinblick auf die Unterstützung von Big Data Analytics. So wird etwa Apache Spark auf der PaaS-Plattform BlueMix bereitgestellt. Von IBM und Partnern kommen weitere Produkte auf den Markt. Analysten sprechen bereits von einem „Blue Stack“ analog zu Oracles Technologiestapel „Red Stack“. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45250822 / Definitionen)