Suche
Maschinelles Lernen

TensorFlow 1.4: Neue Version der Machine-Learning-Library veröffentlicht

Paul Weiler

(c) Shutterstock / I000s_pixels

Eine neue Version der Machine-Learning-Library TensorFlow ist erschienen. Version 1.4 der Google Library für Maschinelles Lernen bringt zahlreiche Neuerungen mit, unter anderem ist das Framework Keras nun Teil des Kernpakets. Wir haben uns angesehen, was TensorFlow 1.4 noch im Gepäck hat.

Was ist TensorFlow?

TensorFlow ist eine Programmbibliothek für Künstliche Intelligenz (KI) und Maschinelles Lernen. Mit ihr lassen sich mathematische Berechnungen von Sprach- oder Bildinformationen, z.B. neuronale Netze, graphisch darstellen. Im November 2015 unter Open-Source-Lizenz zur Verfügung gestellt, wird TensorFlow von Google auch nach wie vor in kommerziellen Projekten verwendet und kommt beispielsweise bei Google Maps und Google StreetView zum Einsatz.

TensorFlow 1.4

Das kürzlich erschienene Update TensorFlow 1.4 enthält neben einigen Fehlerkorrekturen und Bugfixes auch neue Funktionen.

Keras, tf.data & Co

Eine der größten Änderungen ist wohl die Erweiterung um das äußerst beliebte Machine-Learning-Framework Keras (tf.keras), das zu einem Teil des Kernpakets wurde und so für die Produktions-Workflows zuverlässig eingesetzt werden kann. Das High-Level-API von Keras soll im aktiven Einsatz den Workflow optimieren und die Zeitspanne zwischen Idee und Umsetzung minimieren. Wer mit Keras durchstarten will, für den ist der Quickstart interessant.

Ein weiteres API, das den Sprung zum Kernpaket geschafft hat, ist tf.data. Dieses wurde in Version 1.4 mit zusätzlicher Unterstützung für Python-Generatoren aufgenommen und unterliegt nun der von Google gewährleisteten Abwärtskompatibilitätsgarantie. Das Dataset API wird unter anderem vom TensorFlow-Team zur Erstellung von Eingabepipelines für ihre Modelle verwendet, da es wesentlich mehr Funktionalität als ältere Pipelines wie feed_dict oder die Queue-basierte Pipeline bietet. Es hat außerdem eine bessere Rundum-Performance und ist viel einfacher zu bedienen.

Lesen Sie auch: Google stellt TensorBoard vor: Neue Machine Learning APIs für TensorFlow

Zu den wichtigsten neuen Funktionen im Bereich tf.data gehören Methoden Dataset.from_generator () zum Erstellen einer Eingabepipeline aus einem Python-Generator und Dataset.apply () zum Anwenden benutzerdefinierter Funktionen. Weitere benutzerdefinierte Funktionen, die hinzugefügt wurden, sind tf.contrib.data.batch_and_drop_remainder () und tf.contrib.data.sloppy_interleave ().

Der häufig verwendete Tensor-Filter has_inf_inf_or_nan wird nun standardmäßig zu Session Wrappers und Hooks hinzugefügt. Damit entfällt für Clients der Aufruf von add_tensor_filter (tf_debug.has_inf_inf_or_nan), was zu einer verbesserten Benutzerfreundlichkeit führen soll. Mit Release 1.4 wurde auch die Utility-Funktion tf.Estimator.train_and_evaluate eingeführt, die Training, Auswertung und Export von Estimator-Modellen vereinfachen.

Bugfixes

Zu den Standardoptionen für die Builds gehören jetzt das Google-Cloud-Storage-, das Amazon-S3- und das Hadoop-Dateisystem. Die Trainingsleistung insgesamt soll sich durch die Änderungsoption des Standardverhaltens von RunConfig verbessern.

DropoutWrapper ist zudem ab TensorFlow 1.4 zurückhaltender, was die Ausgabe von LSTM-States angeht. Insbesondere wird der c-(Memory)-Zustand eines LSTMStateTuple nicht mehr gelöscht. Das neue Verhalten führt zu einem korrekten Drop-Out-Verhalten für LSTMs und gestapelte LSTMs. Das Verhalten des Status-Dropout-Verhaltens kann jetzt über den neuen Parameter dropout_state_filter_visitor angepasst werden.

Breaking Changes & bekannte Probleme

Die Signatur der Funktion tf.contrib.data.rejection_resample () wurde geändert. Sie gibt nun eine Funktion zurück, die als Parameter für Dataset.apply () verwendet werden kann. Die Methode tf.contrib.data.Iterator.from_dataset () wurde entfernt. Stattdessen wird empfohlen, ab sofort Dataset.make_initializable_iterator () zu verwenden. Ebenso gelöscht wurde die selten verwendete und unnötige tf.contrib.data.Iterator.dispose_op ().

Ein bekanntes Problem ist, dass in Python 3 Dataset.from_generator () keine Unicode-Strings unterstützt. Es müssen alle Zeichenfolgen in Bytes-Objekte konvertiert werden, bevor der Generator diese zurückgeben kann.

Installation und Dokumentation

TensorFlow Version 1.4 ist jetzt auch mit Standard-pip-Installation erhältlich:

# Note: the following command will overwrite any existing TensorFlow
# installation.
$ pip install --ignore-installed --upgrade tensorflow
# Use pip for Python 2.7
# Use pip3 instead of pip for Python 3.x

Über die genannten Funktionen hinaus führt 1.4 eine Reihe weiterer Erweiterungen ein, die in den Release Notes beschrieben werden, auch die Dokumentation zu TensorFlow wurde auf den aktuellen Stand gebracht. Auf dem Google Entwicklerblog gibt es eine Zusammenfassung aller Änderungen der neuen Version.

Trendthema Machine Learning

Maschinelles Lernen ist momentan einer der dynamischsten Innovationsbereiche der IT. Zunehmend viele Aspekte des Alltags werden von lernenden Systemen beeinflusst.

Für Entwickler ergibt sich somit ein zukunftsweisendes Betätigungsfeld. So haben in unserer großen JAXenter-Umfrage 2017 denn auch 65% der Teilnehmer angegeben, dass Machine Learning für sie in diesem Jahr „interessant“ oder „sehr interessant“ sein würde.

Bildschirmfoto 2017-02-16 um 09.54.20

 

Dossier Machine Learning

Zur Einführung in das Thema empfehlen wir unser Dossier zum Maschinellen Lernen, das Sie hier kostenlos als PDF herunterladen können:

Dossier Machine Learning

Inhalt

Folgender Inhalt erwartet Sie:

  • Maschinelles Lernen mit Java: Eine Einführung – Artikel von Lars Schwabe
  • Machine Learning Experten-Check – Sechs Experten über die Faszination an der lernenden Maschine
  • TensorFlow: Der Weg des maschinellen Lernens – Artikel von Bernd Fondermann
  • “Wir sehen Anzeichen dafür, dass Machine-Learning-Systeme eigenen kreativen Output liefern” – Interview mit Bernd Fondermann
  • Künstliche neuronale Netze: Ein Machine-Learning-Beispiel mit Neuroph – Artikel von Dr. Valentin Steinhauer
  • Maschinelles Lernen: Vom Forschungsgegenstand zur Commodity – Interview mit Lars Schwabe
  • Einen eigenen Chatbot bauen – Artikel von Roman Schacherl und Daniel Sklenitzka
  • “Wir werden Sprachinteraktion zwischen Mensch und Maschine bald als einen ganz normalen Prozess erleben” – Interview mit Prof. Dr.-Ing. Dorothea Kolossa

 

Geschrieben von
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.