zurück zum Artikel

Anaconda: Python und Jupyter installieren und bedienen

Josef Müller, Daniel Bachfeld

Mit dem Anaconda Navigator werden Installation und Verwaltung von Python zum Kinderspiel. Und mit Jupyter lassen sich KI-Skripte schrittweise nachvollziehen.

In Zusammenhang mit Künstlicher Intelligenz und Data Science ist Python mittlerweile eine der am häufigsten eingesetzten Sprachen. Viele KI-Bibliotheken bieten neben APIs für C/C++ auch solche für Python. Dazu gehören Tensorflow und das mittlerweile darin aufgegangene Framework Keras. Auch wir nutzen Python zum Erstellen der Trainingsdaten, zum Trainieren und Erstellen des Modells für das neuronale Netz. Die konkrete Beschreibung finden Sie im Artikel KI für den ESP32 in der Make 6/21.

Um mit Python unter Windows zu arbeiten, gibt es verschiedene Wege, etwa die direkte Installation eines Python-Interpreters, den man dann über die Windows-Eingabeaufforderung bedient. Praktischerweise gibt es Lösungen wie Anaconda, mit denen die Installation, Verwaltung, Aktualisierung und Bedienung zum Kinderspiel wird, ganz ohne Eingabeaufforderung. Mit Anaconda kann man nicht nur Python verwalten, sondern auch weitere Sprachen wie R, Bibliotheken und Entwicklungsumgebungen wie Visual Studio Code. Dazu gleich mehr.

Zunächst lädt man sich den in der Individual Edition kostenlosen Anaconda Installer für Windows in der gewünschten Version (32 oder 64 Bit) herunter [1]. Nach dem Start benötigt der Installer einige Zeit. Sobald das erledigt ist, ruft man den Anaconda Navigator auf. Beim ersten Start ist die Oberfläche mit all den angebotenen Modulen noch etwas unübersichtlich. Wir müssen uns hier aber zunächst nur auf Juypter Notebook konzentrieren.

Anacona installieren (0 Bilder) [2]

[3]

Da einzelne Python-Projekte oft sehr verschiedene Bibliotheken nutzen, die mitunter in Versionskonflikten zueinander stehen, bietet Anaconda die Möglichkeit, unterschiedliche Umgebungen einzurichten. Im Prinzip stecken die vom nativen Python bekannten virtual enviroments (venv) dahinter. Man kann zwischen den Umgebungen wechseln und je nach Bedarf die vom Projekt benötigten Python-Versionen, Bibliotheken und Module installieren, ohne dass sich diese ins Gehege kommen.

Wir wollen für unser KI-Projekt ebenfalls eine neue Umgebung anlegen. Unter dem Punkt Environments im linken Menü verwaltet man die unterschiedlichen Entwicklungsumgebungen. Das base-Environment mit seinen vielen Bibliotheken ist schon vorhanden. Aus dem GitHub-Repository [4] kann man mittels Import eine fertig konfigurierte Python-Umgebung für eine Windows 10/11 Umgebung inklusive aller notwendigen Bibliotheken für alle Teile dieser Artikelserie laden. Dazu wählt man die Datei anaconda-win11-env.yml aus.

Wer die Installation auf einem anderen System z.B. Linux installieren will oder es manuell selbst durchführen möchte, klickt im Environment-Menu unten auf das +-Icon (Create) und gibt dem Projekt einen Namen beispielsweise ESP32-KI. Wichtig ist, die Python-Version 3.8 auszuwählen. Sobald man das bestätigt, wird die entsprechende Python-Umgebung erzeugt und auch gleich aktiviert. Man sieht im rechten Feld, welche Basis-Bibliotheken bereits installiert sind. Damit ist man grundsätzlich schon startfähig.

Man wird aber schnell feststellen, dass wichtige Bibliotheken für die nächsten Schritte noch fehlen. Diese müssen manuell installiert werden. Das kann auf zwei unterschiedliche Arten erfolgen. Entweder man wählt oben im Reiter Environment im Auswahlfeld die Selektion All und filtert über das Suchfeld nach der benötigten Bibliothek, wählt diese dann per Auswahl und installiert sie über den dann erscheinenden Apply-Button (unten rechts).

Oder man geht den klassischen Weg über das Python-Installationstool pip. Dazu benötigt man ein Terminalfenster, welches man startet, indem man auf den Play-Button neben dem aktiven Environment geht und dann Open Terminal auswählt (siehe Bilderstrecke). Jetzt kann man über

pip install PACKAGE

die notwendigen Pakete installieren. Normalerweise benötigt man keine Versionsangabe, aber um Inkompatibilitäten bei Versionsupdates zu vermeiden, sind im Folgenden die Bibliotheken mit den hier verwendeten Versionen angegeben. Für den ersten Teil der Artikelstrecke (und später im zweiten Teil) werden die notwendigen Bibliotheken mit folgendem Befehl im Terminal installiert:

pip install pillow==8.3.1 numpy==1.21.1 matplotlib==3.4.2 scipy==1.7.1
pip install tensorflow==2.4.0
pip install scikit-learn==1.0

Geschafft. Nun können wir die Python-Umgebung nutzen.

In der gerade gebauten Umgebung fehlt nun noch die App Jupyter Notebooks. Mit einem Klick auf Home wechselt man in die App-Ansicht und klick in der Kachel für Jupyter Notebooks auf Install. Der Anaconda Navigator lädt einige Pakete aus dem Netz nach. Anschließend ändert sich der Button in der Kachel von Install in Launch. Ein Klick auf Launch startet nun Jupyter.

Parallel dazu öffnet sich ein Browserfenster mit einer Ansicht des Dateisystems des Ordners des gerade an Windows angemeldeten Nutzers, also beispielsweise c:\Benutzer\Name. Spätestens jetzt empfiehlt es sich, ein Verzeichnis anzulegen, in dem man die auf Github zum Download verfügbaren [5] Skripte speichert und auch die Trainingsdaten bereitstellt. Im Folgenden wird angenommen, das dort eine Kopie des GitHub-Repository im Ordner ctmake-KI-ESP32-Teil1-main liegt, mit dem Unterverzeichnis „Originalbilder“ und den darin enthaltenen Ausgangsbilder für das weitere Training.

Nun klicken wir in der Browser-Ansicht auf den Ordner ctmake-KI-ESP32-Teil1-main, in dem die Python-Notebooks im Format ipynb abgelegt sind. Insgesamt vier Notebooks plus zwei Unterordner sind zu sehen. Die Notebooks enthalten im XML-Format Python-Skripte in sogenannten Cells und erklärende Texte dazu. Die Cells teilen das Python-Skript gewissermaßen in einzelne Häppchen auf, die separat in der Jupyter-Umgebung gestartet werden können. So kann man alle Schritte wie in einem Tutorial live nachvollziehen und sich die Ergebnisse sukzessive anschauen und gegebenenfalls die von Notebook-Ersteller ergänzten Kommentare und Erklärungen studieren.

KI-Skripte in Jupyter bedienen (9 Bilder) [6]

[7]
So liegen die Dateien auf Github.

Ein Klick auf das erste Notebook 1_Test_Groesse_Trainingsbilder.ipynb öffnet ein neues Browser-Tab. In der oberen Leiste des Jupyter-Notebooks sind diverse Buttons zum Verwalten, Konfigurieren und Steuern der einzelnen Cells und Text-Kästen eines Notebooks verfügbar. Der Run-Button startet die ausgewählte Cell, beim Aufruf eines Notebooks ist automatisch immer das erste Element ausgewählt.

Ist eine Cell oder ein Textkasten durchgelaufen, endet die Ausführung und das nächste Element wird ausgewählt. Das gerade aktuelle Element erkennt man an der dünnen blauen Umrandung. So kann man sich mit mehreren Klicks des Run-Buttons durch das Notebook arbeiten.

Alternativ kann man jede Cell auch einzeln anklicken, in dem man das Dioden-ähnliche Symbol links neben der Cell anklickt. An dem vorangestellten In[] sieht man im übrigen, in welcher Reihenfolge die Cells bereits durchlaufen wurden. Möchte Sie die bisherigen Ausgaben alle löschen und nochmal von vorne anfangen, klickt man im Menü oben unter Kernel den Punkt Restart & Clear Output.

Konkret sieht man beim ersten Notebook, wie das Bild der Ziffer 5 geladen und skaliert wird. Im zweiten Notebook 2_Skalierung_Trainingsdaten.ipynb werden alle Bilder aus dem Ordner bilder_original runterskaliert und im Ordner bilder_resize abgelegt.

Das Notebook 3_Augmentation_Helligkeit.ipynb variiert die Helligkeit des Ziffernbildes und gibt die neuen Bilder aus. Mit dem Notebook 4_Augmentation_All.ipynb werden sowohl einzeln Helligkeit, Rotation, Verschiebungen, Verzerrung sowie alle Variationen zusammen durchgespielt und als Bilder ausgegeben. Im nächsten Teil geht es dann um das konkrete Training eines neuronalen Netzes mit den Bildern.

Mehr von Make Mehr von Make [8]

(dab [9])


URL dieses Artikels:
https://www.heise.de/-6276687

Links in diesem Artikel:
[1] https://www.anaconda.com/products/individual#Downloads
[2] https://www.heise.de/bilderstrecke/bilderstrecke_6277953.html?back=6276687;back=6276687
[3] https://www.heise.de/bilderstrecke/bilderstrecke_6277953.html?back=6276687;back=6276687
[4] https://github.com/jomjol/ctmake-KI-ESP32-Teil1
[5] https://github.com/jomjol/ctmake-KI-ESP32-Teil1
[6] https://www.heise.de/bilderstrecke/bilderstrecke_6278014.html?back=6276687
[7] https://www.heise.de/bilderstrecke/bilderstrecke_6278014.html?back=6276687
[8] https://www.heise.de/make/
[9] mailto:dab@ct.de