So installieren und verwenden Sie TensorFlow unter Ubuntu 18.04

Einführung

TensorFlow ist eine Open-Source-Software für maschinelles Lernen, mit der neuronale Netze trainiert werden. Die neuronalen Netze von TensorFlow werden in Form vonstateful dataflow graphs ausgedrückt. Jeder Knoten in der Grafik repräsentiert die Operationen, die von neuronalen Netzen an mehrdimensionalen Arrays ausgeführt werden. Diese mehrdimensionalen Arrays sind allgemein als "Tensoren" bekannt, daher der Name TensorFlow.

TensorFlow ist eindeep learning-Softwaresystem. Es eignet sich gut zum Abrufen von Informationen, wie Google anhand des Suchrankings in seinem System für maschinelles Lernen mit künstlicher Intelligenz (RankBrain) demonstriert. TensorFlow kann eine Bilderkennung, wie inInceptionvon Google gezeigt, sowie eine Audioerkennung in menschlicher Sprache durchführen. Es ist auch nützlich, um andere Probleme zu lösen, die nicht spezifisch für maschinelles Lernen sind, wie z. B.partial differential equations.

Die TensorFlow-Architektur ermöglicht die Bereitstellung auf mehreren CPUs oder GPUs auf einem Desktop, Server oder Mobilgerät. Es gibt auch Erweiterungen für die Integration mitCUDA, einer Parallel-Computing-Plattform von Nvidia. Dadurch erhalten Benutzer, die auf einer GPU bereitgestellt werden, direkten Zugriff auf den virtuellen Befehlssatz und andere Elemente der GPU, die für parallele Rechenaufgaben erforderlich sind.

In diesem Tutorial installieren wir die "Nur CPU-Unterstützung" -Version von TensorFlow. Diese Installation ist ideal für Benutzer, die TensorFlow installieren und verwenden möchten, jedoch keine Nvidia-Grafikkarte besitzen oder keine leistungskritischen Anwendungen ausführen müssen.

Sie können TensorFlow auf verschiedene Arten installieren. Jede Methode hat einen anderen Anwendungsfall und eine andere Entwicklungsumgebung:

  • Python and Virtualenv: Bei diesem Ansatz installieren Sie TensorFlow und alle Pakete, die zur Verwendung von TensorFlow in einer virtuellen Python-Umgebung erforderlich sind. Dadurch wird Ihre TensorFlow-Umgebung von anderen Python-Programmen auf demselben Computer isoliert.

  • Native pip: Bei dieser Methode installieren Sie TensorFlow global auf Ihrem System. Dies wird für Benutzer empfohlen, die TensorFlow für alle Benutzer eines Mehrbenutzersystems verfügbar machen möchten. Diese Installationsmethode isoliert TensorFlow nicht in einer geschlossenen Umgebung und beeinträchtigt möglicherweise andere Python-Installationen oder -Bibliotheken.

  • Docker: Docker ist eine Container-Laufzeitumgebung und isoliert ihren Inhalt vollständig von bereits vorhandenen Paketen auf Ihrem System. In dieser Methode verwenden Sie einen Docker-Container, der TensorFlow und alle seine Abhängigkeiten enthält. Diese Methode ist ideal, um TensorFlow in eine größere Anwendungsarchitektur zu integrieren, die bereits Docker verwendet. Das Docker-Image ist jedoch recht groß.

In diesem Tutorial installieren Sie TensorFlow in einer virtuellen Python-Umgebung mitvirtualenv. Dieser Ansatz isoliert die TensorFlow-Installation und sorgt für eine schnelle Inbetriebnahme. Sobald Sie die Installation abgeschlossen haben, validieren Sie Ihre Installation, indem Sie ein kurzes TensorFlow-Programm ausführen und dann TensorFlow verwenden, um die Bilderkennung durchzuführen.

Voraussetzungen

Bevor Sie mit diesem Lernprogramm beginnen, benötigen Sie Folgendes:

  • Ein Ubuntu 18.04-Server mit mindestens 1 GB RAM, der von folgendenthe Ubuntu 18.04 initial server setup guide eingerichtet wurde, einschließlich eines Sudo-Nicht-Root-Benutzers und einer Firewall. Sie benötigen mindestens 1 GB RAM, um das letzte Beispiel in diesem Lernprogramm erfolgreich auszuführen.

  • Python 3.3 oder höher undvirtualenv installiert. Folgen SieHow To Install Python 3 on Ubuntu 18.04, um Python undvirtualenv zu konfigurieren.

  • Git installiert, was Sie tun können, indem SieHow To Install Git on Ubuntu 18.04 folgen. Hiermit können Sie ein Repository mit Beispielen herunterladen.

[[Schritt 1 - Installation des Tensorflusses]] == Schritt 1 - Installation von TensorFlow

In diesem Schritt erstellen wir eine virtuelle Umgebung und installieren TensorFlow.

Erstellen Sie zunächst ein Projektverzeichnis. Wir nennen es zu Demonstrationszweckentf-demo, wählen jedoch einen Verzeichnisnamen, der für Sie von Bedeutung ist:

mkdir ~/tf-demo

Navigieren Sie zu Ihrem neu erstelltentf-demo-Verzeichnis:

cd ~/tf-demo

Erstellen Sie dann beispielsweise eine neue virtuelle Umgebung mit dem Namentensorflow-dev. Führen Sie den folgenden Befehl aus, um die Umgebung zu erstellen:

python3 -m venv tensorflow-dev

Dadurch wird ein neuestensorflow-dev-Verzeichnis erstellt, das alle Pakete enthält, die Sie installieren, während diese Umgebung aktiviert ist. Es enthält auchpip und eine eigenständige Version von Python.

Aktivieren Sie jetzt Ihre virtuelle Umgebung:

source tensorflow-dev/bin/activate

Nach der Aktivierung sehen Sie in Ihrem Terminal etwas Ähnliches:

(tensorflow-dev)username@hostname:~/tf-demo $

Jetzt können Sie TensorFlow in Ihrer virtuellen Umgebung installieren.

Führen Sie den folgenden Befehl aus, um die neueste Version von TensorFlow zu installieren und auf die neueste Version zu aktualisieren, die inPyPi verfügbar ist:

pip install --upgrade tensorflow

TensorFlow wird installiert, und Sie sollten eine Ausgabe erhalten, die angibt, dass die Installation zusammen mit allen abhängigen Paketen erfolgreich war.

Output...
Successfully installed absl-py-0.7.1 astor-0.7.1 gast-0.2.2 grpcio-1.19.0 h5py-2.9.0 keras-applications-1.0.7 keras-preprocessing-1.0.9 markdown-3.0.1 mock-2.0.0 numpy-1.16.2 pbr-5.1.3 protobuf-3.7.0 setuptools-40.8.0 tensorboard-1.13.1 tensorflow-1.13.1 tensorflow-estimator-1.13.0 termcolor-1.1.0 werkzeug-0.15.0 wheel-0.33.1
...

Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

[.Hinweis]##

Sie können Ihre virtuelle Umgebung jederzeit mit dem folgenden Befehl deaktivieren:

deactivate

Um die Umgebung später wieder zu aktivieren, navigieren Sie zu Ihrem Projektverzeichnis und führen Siesource tensorflow-dev/bin/activate.
aus

Nachdem Sie TensorFlow installiert haben, stellen wir sicher, dass die TensorFlow-Installation funktioniert.

[[Schritt-2 - Validierung der Installation]] == Schritt 2 - Validierung der Installation

Um die Installation von TensorFlow zu validieren, führen wir ein einfaches Programm in TensorFlow als Nicht-Root-Benutzer aus. Wir werden das kanonische Anfängerbeispiel "Hallo Welt!" Als eine Form der Validierung verwenden. Anstatt eine Python-Datei zu erstellen, erstellen wir dieses Programm mitPython’s interactive console.

Starten Sie Ihren Python-Interpreter, um das Programm zu schreiben:

python

In Ihrem Terminal wird die folgende Eingabeaufforderung angezeigt:

>>>

Dies ist die Eingabeaufforderung für den Python-Interpreter und zeigt an, dass Sie mit der Eingabe einiger Python-Anweisungen beginnen können.

Geben Sie zunächst diese Zeile ein, um das TensorFlow-Paket zu importieren und als lokale Variabletf verfügbar zu machen. Drücken SieENTER, nachdem Sie die Codezeile eingegeben haben:

import tensorflow as tf

Fügen Sie als Nächstes diese Codezeile hinzu, um die Meldung „Hallo Welt!“ Festzulegen:

hello = tf.constant("Hello, world!")

Erstellen Sie dann eine neue TensorFlow-Sitzung und weisen Sie sie der Variablensess zu:

sess = tf.Session()

[.Hinweis]##

Note: Abhängig von Ihrer Umgebung wird möglicherweise folgende Ausgabe angezeigt:

Output2019-03-20 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2019-03-20 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2019-03-20 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2019-03-20 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2019-03-20 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

Dies zeigt Ihnen, dass Sie eininstruction sethaben, das möglicherweise für eine bessere Leistung mit TensorFlow optimiert werden kann. Wenn Sie dies sehen, können Sie es ignorieren und fortfahren.

Geben Sie abschließend diese Codezeile ein, um das Ergebnis der Ausführung der TensorFlow-Sitzung vonhelloauszudrucken, die Sie in Ihren vorherigen Codezeilen erstellt haben:

In Python 3 gibtsess.run() eine Byte-Zeichenfolge zurück, die alsb'Hello, world!' gerendert wird, wenn Sieprint(sess.run(hello)) alleine ausführen. UmHello, world! als Zeichenfolge zurückzugeben, fügen wir die Methodedecode() hinzu.

print(sess.run(hello).decode())

Sie sehen diese Ausgabe in Ihrer Konsole:

OutputHello, world!

Dies zeigt an, dass alles funktioniert und Sie TensorFlow verwenden können.

Beenden Sie die interaktive Python-Konsole, indem SieCTRL+D drücken oderquit() eingeben.

Verwenden Sie als Nächstes die Bilderkennungs-API von TensorFlow, um sich mit TensorFlow vertraut zu machen.

[[Schritt 3 - Verwenden des Tensorflusses zur Bilderkennung] == Schritt 3 - Verwenden von TensorFlow zur Bilderkennung

Nachdem TensorFlow installiert ist und Sie es mit einem einfachen Programm validiert haben, können wir einen Blick auf die Bilderkennungsfunktionen von TensorFlow werfen.

Um ein Bild zu klassifizieren, müssen Sie ein Modell trainieren. Dann müssen Sie Code schreiben, um das Modell zu verwenden. Weitere Informationen zu Konzepten für maschinelles Lernen finden Sie unter "https://www.digitalocean.com/community/tutorials/an-einführung-zum-Maschinenlernen[Eine Einführung in maschinelles Lernen]".

TensorFlow bietetrepository of models and examples, einschließlich Code und ein trainiertes Modell zur Klassifizierung von Bildern.

Verwenden Sie Git, um das TensorFlow-Modellrepository von GitHub in Ihr Projektverzeichnis zu klonen:

git clone https://github.com/tensorflow/models.git

Sie erhalten die folgende Ausgabe, wenn Git das Repository in einen neuen Ordner namensmodels auscheckt:

OutputCloning into 'models'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 24851 (delta 17), reused 12 (delta 6), pack-reused 24819
Receiving objects: 100% (24851/24851), 507.78 MiB | 32.73 MiB/s, done.
Resolving deltas: 100% (14629/14629), done.
Checking out files: 100% (2858/2858), done.

Wechseln Sie in das Verzeichnismodels/tutorials/image/imagenet:

cd models/tutorials/image/imagenet

Dieses Verzeichnis enthält die Dateiclassify_image.py, die TensorFlow zum Erkennen von Bildern verwendet. Dieses Programm lädt beim ersten Start ein trainiertes Modell vontensorflow.org herunter. Zum Herunterladen dieses Modells sind 200 MB freier Speicherplatz auf der Festplatte erforderlich.

In diesem Beispiel klassifizieren wirpre-supplied image of a Panda. Führen Sie diesen Befehl aus, um das Bildklassifizierungsprogramm auszuführen:

python classify_image.py

Sie erhalten eine Ausgabe ähnlich der folgenden:

Outputgiant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

Sie haben Ihr erstes Bild mithilfe der Bilderkennungsfunktionen von TensorFlow klassifiziert.

Wenn Sie ein anderes Bild verwenden möchten, können Sie dies tun, indem Sie das Argument-- image_filezu Ihrem Befehlpython3 classify_image.pyhinzufügen. Für das Argument würden Sie den absoluten Pfad der Bilddatei übergeben.

Fazit

In diesem Lernprogramm haben Sie TensorFlow in einer virtuellen Python-Umgebung installiert und anhand einiger Beispiele überprüft, ob TensorFlow funktioniert. Sie verfügen jetzt über Tools, mit denen Sie zusätzliche Themen wieConvolutional Neural Networks undWord Embeddings untersuchen können.

TensorFlowsprogrammer’s guide bieten eine nützliche Ressource und Referenz für die TensorFlow-Entwicklung. Sie können auchKaggle erkunden, ein Wettbewerbsumfeld für die praktische Anwendung von Konzepten für maschinelles Lernen, das Sie gegen andere Enthusiasten für maschinelles Lernen, Datenwissenschaft und Statistik antritt. Sie haben robustewiki, in denen Sie Lösungen untersuchen und austauschen können, von denen einige auf dem neuesten Stand der statistischen und maschinellen Lerntechniken sind.

Related